日历

打印

 1@Entry  2@Component  3struct Page02_TaskList {  4 private today:Date = new Date()  5 build() {  6 Column() {  7 Text(`${this.today.toLocaleString()}`)  8 }  9 .height('100%') 10 .width('100%') 11 .padding(10) 12 .backgroundColor('#f1f3f5') 13 } 14}
@Entry @Component struct Page02_TaskList { private today:Date = new Date() build() { Column() { Text(`${this.today.toLocaleString()}`) } .height('100%') .width('100%') .padding(10) .backgroundColor('#f1f3f5') } }

日期

CalendarPickerDialog

1private selectedDate: Date = new Date() 2calendarChange = () => { 3 CalendarPickerDialog.show({ 4 selected: this.selectedDate, 5 onChange: (value) => { 6 console.log("CalendarPickerDialog:" + JSON.stringify(value)) 7 } 8 }) 9}
private selectedDate: Date = new Date() calendarChange = () => { CalendarPickerDialog.show({ selected: this.selectedDate, onChange: (value) => { console.log("CalendarPickerDialog:" + JSON.stringify(value)) } }) }

时间

 1timePickerChange = () => {  2 TimePickerDialog.show({  3 selected: this.selectedDate,  4 useMilitaryTime: true,  5 disappearTextStyle: {  6 color: Color.Brown,  7 font: {  8 size: 15,  9 weight: FontWeight.Bold 10 } 11 }, 12 textStyle: { 13 color: Color.Orange 14 }, 15 selectedTextStyle: { 16 color: Color.Blue, 17 font: { 18 size: 18, 19 weight: FontWeight.Bold 20 } 21 }, 22 onAccept: (value: TimePickerResult) => { 23 console.log(JSON.stringify(value)) 24 } 25 }) 26}
timePickerChange = () => { TimePickerDialog.show({ selected: this.selectedDate, useMilitaryTime: true, disappearTextStyle: { color: Color.Brown, font: { size: 15, weight: FontWeight.Bold } }, textStyle: { color: Color.Orange }, selectedTextStyle: { color: Color.Blue, font: { size: 18, weight: FontWeight.Bold } }, onAccept: (value: TimePickerResult) => { console.log(JSON.stringify(value)) } }) }

格式化

 1export class DateFormat {  2 yy: string = ''  3 mm: string = ''  4 dd: string = ''  5 HH: string = ''  6 MM: string = ''  7 SS: string = ''  8}  9 10/** 11 * 日期格式转换 12 * 13 * @param timestamp 日期毫秒 14 * @param format 预期格式 15 * @returns 格式化日期 16 */ 17export function formatDate(timestamp: number, format: string = 'yyyy-mm-dd') { 18 let res = '' 19 try { 20 // 毫秒转日期 21 const date = new Date(timestamp) 22 // 定义日期字段 23 const opt: DateFormat = { 24 yy: date.getFullYear().toString(), 25 mm: (date.getMonth() + 1).toString(), 26 dd: date.getDate().toString(), 27 HH: date.getHours().toString(), 28 MM: date.getMinutes().toString(), 29 SS: date.getSeconds().toString() 30 }; 31 32 // 存放正则表达式匹配字段 33 const regKeys: string[] = ['y+', 'm+', 'd+', 'H+', 'M+', 'S+'] 34 for (let i = 0; i < regKeys.length; i++) { 35 const regKey = regKeys[i] 36 // 构造正则对象 37 const reg = new RegExp(regKey) 38 let ret = reg.exec(format) 39 if (ret) { 40 switch (regKey) { 41 case 'y+': 42 // yyyy-mm-dd 替换为2025-mm-dd 43 format = format.replace(reg, ret.length !== 1 ? opt.yy : opt.yy.padStart(ret.length, '0')) 44 case 'm+': 45 format = format.replace(reg, ret.length !== 1 ? opt.mm : opt.mm.padStart(2, '0')) 46 case 'd+': 47 format = format.replace(reg, ret.length !== 1 ? opt.dd : opt.dd.padStart(2, '0')) 48 case 'H+': 49 format = format.replace(reg, ret.length !== 1 ? opt.HH : opt.HH.padStart(2, '0')) 50 case 'M+': 51 format = format.replace(reg, ret.length !== 1 ? opt.MM : opt.MM.padStart(2, '0')) 52 case 'S+': 53 format = format.replace(reg, ret.length !== 1 ? opt.SS : opt.SS.padStart(2, '0')) 54 } 55 } 56 } 57 res = format 58 } catch (error) { 59 console.log("DateFormat Error") 60 } 61 return res 62}
export class DateFormat { yy: string = '' mm: string = '' dd: string = '' HH: string = '' MM: string = '' SS: string = '' } /** * 日期格式转换 * * @param timestamp 日期毫秒 * @param format 预期格式 * @returns 格式化日期 */ export function formatDate(timestamp: number, format: string = 'yyyy-mm-dd') { let res = '' try { // 毫秒转日期 const date = new Date(timestamp) // 定义日期字段 const opt: DateFormat = { yy: date.getFullYear().toString(), mm: (date.getMonth() + 1).toString(), dd: date.getDate().toString(), HH: date.getHours().toString(), MM: date.getMinutes().toString(), SS: date.getSeconds().toString() }; // 存放正则表达式匹配字段 const regKeys: string[] = ['y+', 'm+', 'd+', 'H+', 'M+', 'S+'] for (let i = 0; i < regKeys.length; i++) { const regKey = regKeys[i] // 构造正则对象 const reg = new RegExp(regKey) let ret = reg.exec(format) if (ret) { switch (regKey) { case 'y+': // yyyy-mm-dd 替换为2025-mm-dd format = format.replace(reg, ret.length !== 1 ? opt.yy : opt.yy.padStart(ret.length, '0')) case 'm+': format = format.replace(reg, ret.length !== 1 ? opt.mm : opt.mm.padStart(2, '0')) case 'd+': format = format.replace(reg, ret.length !== 1 ? opt.dd : opt.dd.padStart(2, '0')) case 'H+': format = format.replace(reg, ret.length !== 1 ? opt.HH : opt.HH.padStart(2, '0')) case 'M+': format = format.replace(reg, ret.length !== 1 ? opt.MM : opt.MM.padStart(2, '0')) case 'S+': format = format.replace(reg, ret.length !== 1 ? opt.SS : opt.SS.padStart(2, '0')) } } } res = format } catch (error) { console.log("DateFormat Error") } return res }

 1import { DateFormat, formatDate } from '../utils/DateFormat'  2  3@Entry  4@Component  5struct Page02_TaskList {  6 // 组件加载完毕后加载数据  7 aboutToAppear(): void {  8 const result = formatDate(new Date().getTime(), 'yyyy-mm-dd HH-MM-SS')  9 console.log(result) 10 } 11 12 build() { 13 Column() { 14 } 15 .height('100%') 16 .width('100%') 17 .padding(10) 18 .backgroundColor('#f1f3f5') 19 } 20} 21 22// 2025-2-3 13-29-38
import { DateFormat, formatDate } from '../utils/DateFormat' @Entry @Component struct Page02_TaskList { // 组件加载完毕后加载数据 aboutToAppear(): void { const result = formatDate(new Date().getTime(), 'yyyy-mm-dd HH-MM-SS') console.log(result) } build() { Column() { } .height('100%') .width('100%') .padding(10) .backgroundColor('#f1f3f5') } } // 2025-2-3 13-29-38

随机日期

## 1/**  2 * 获取随机日期  3 */  4export function getRandomDate() {  5 let today = new Date()  6 const year = today.getFullYear()  7 let month = today.getMonth() + 1  8 let minDay = 1  9 let maxDay = new Date(year, month + 1, 0).getDate() 10 let randomDay = Math.floor(Math.random() * (maxDay - minDay + 1)) + minDay 11 return `${year}-${String(month).padStart(2, '0')}-${String(randomDay).padStart(2, '0')}` 12}
/** * 获取随机日期 */ export function getRandomDate() { let today = new Date() const year = today.getFullYear() let month = today.getMonth() + 1 let minDay = 1 let maxDay = new Date(year, month + 1, 0).getDate() let randomDay = Math.floor(Math.random() * (maxDay - minDay + 1)) + minDay return `${year}-${String(month).padStart(2, '0')}-${String(randomDay).padStart(2, '0')}` }

 1import { DateFormat, formatDate, getRandomDate } from '../utils/DateFormat'  2  3@Entry  4@Component  5struct Page02_TaskList {  6 @State message: string = ''  7  8 // 组件加载完毕后加载数据  9 aboutToAppear(): void { 10 const result = formatDate(new Date().getTime(), 'yyyy-mm-dd HH-MM-SS') 11 const randomDay = getRandomDate() 12 this.message = randomDay 13 console.log(result) 14 } 15 16 build() { 17 Column() { 18 Text(this.message) 19 .fontSize(30) 20 .fontColor(Color.Brown) 21 } 22 .height('100%') 23 .width('100%') 24 .padding(10) 25 .backgroundColor('#f1f3f5') 26 } 27}
import { DateFormat, formatDate, getRandomDate } from '../utils/DateFormat' @Entry @Component struct Page02_TaskList { @State message: string = '' // 组件加载完毕后加载数据 aboutToAppear(): void { const result = formatDate(new Date().getTime(), 'yyyy-mm-dd HH-MM-SS') const randomDay = getRandomDate() this.message = randomDay console.log(result) } build() { Column() { Text(this.message) .fontSize(30) .fontColor(Color.Brown) } .height('100%') .width('100%') .padding(10) .backgroundColor('#f1f3f5') } }

Powered By 可尔物语

浙ICP备11005866号-12