TextClock
TextClock組件通過文本將當前系統(tǒng)時間顯示在設(shè)備上。支持不同時區(qū)的時間顯示,最高精度到秒級。
說明:
開發(fā)前請熟悉鴻蒙開發(fā)指導文檔 :[gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md
]
該組件從API Version 8開始支持。后續(xù)版本如有新增內(nèi)容,則采用上角標單獨標記該內(nèi)容的起始版本。
子組件
無
接口
TextClock(options?: { timeZoneOffset?: number, controller?: TextClockController })
參數(shù):
參數(shù)名 | 參數(shù)類型 | 必填 | 參數(shù)描述 |
---|---|---|---|
timeZoneOffset | number | 否 | 設(shè)置時區(qū)偏移量。 取值范圍為[-14, 12],表示東十二區(qū)到西十二區(qū),其中負值表示東時區(qū),正值表示西時區(qū),比如東八區(qū)為-8。 對橫跨國際日界線的國家或地區(qū),用-13(UTC+13)和-14(UTC+14)來保證整個國家或者區(qū)域處在相同的時間,當設(shè)置的值不在取值范圍內(nèi)時,將使用當前系統(tǒng)的時區(qū)偏移量。 默認值:當前系統(tǒng)的時區(qū)偏移量 |
controller | [TextClockController] | 否 | 綁定一個控制器,用來控制文本時鐘的狀態(tài)。 |
屬性
除支持[通用屬性]外,還支持以下屬性:
名稱 | 參數(shù)類型 | 描述 |
---|---|---|
format | string | y:年(yyyy表示完整年份,yy表示年份后兩位) M:月(若想使用01月則使用MM) d:日(若想使用01日則使用dd) E:星期(若想使用星期六則使用EEEE,若想使用周六則使用E、EE、EEE) H:小時(24小時制) h:小時(12小時制) m:分鐘 s:秒 SS:厘秒(format中S個數(shù)<3,全部按厘秒處理) SSS:毫秒(format中S個數(shù)>=3,全部按毫秒處理 a:上午/下午(當設(shè)置小時制式為H時,該參數(shù)不生效) 日期間隔符:"年月日"、“/”、"-"、"."(可以自定義間隔符樣式,間隔符不可以為字母,漢字則作為間隔符處理) 允許自行拼接組合顯示格式,即:年、月、日、星期、時、分、秒、毫秒可拆分為子元素,可自行排布組合。 當設(shè)置無效字母時(非上述字母被認為是無效字母,多個有效字母會識別其中的有效組合進行匹配,例:yyyyy會匹配其中的yyyy為有效組合,多余的y認為是無效字母),該字母會被忽略。如果format全是無效字母時,顯示為格式y(tǒng)yyy/MM/dd aa hh:mm:ss.SS 若format為空或者undefined,則使用默認值。 默認值:aa hh:mm:ss |
以下是format輸入的格式樣式及對應的顯示效果:
輸入格式 | 顯示效果 |
---|---|
yyyy年M月d日 EEEE | 2023年2月4日 星期六 |
yyyy年M月d日 | 2023年2月4日 |
M月d日 EEEE | 2月4日 星期六 |
M月d日 | 2月4日 |
MM/dd/yyyy | 02/04/2023 |
EEEE MM月dd日 | 星期六 02月04日 |
yyyy(完整年份) | 2023年 |
yy(年份后兩位) | 23年 |
MM(完整月份) | 02月 |
M(月份) | 2月 |
dd(完整日期) | 04日 |
d(日期) | 4日 |
EEEE(完整星期) | 星期六 |
E、EE、EEE(簡寫星期) | 周六 |
yyyy年M月d日 | 2023年2月4日 |
yyyy/M/d | 2023/2/4 |
yyyy-M-d | 2023-2-4 |
yyyy.M.d | 2023.2.4 |
HH:mm:ss(時:分:秒) | 17:00:04 |
aa hh:mm:ss(時:分:秒) | 上午 5:00:04 |
hh:mm:ss(時:分:秒) | 5:00:04 |
HH:mm(時:分) | 17:00 |
aa hh:mm(時:分) | 上午 5:00 |
hh:mm(時:分) | 5:00 |
mm:ss(分:秒) | 00:04 |
mm:ss.SS(分:秒.厘秒) | 00:04.91 |
mm:ss.SSS(分:秒.毫秒) | 00:04.536 |
hh:mm:ss aa | 5:00:04 上午 |
HH | 17 |
事件
除支持[通用事件]外,還支持以下事件:
名稱 | 功能描述 |
---|---|
onDateChange(event: (value: number) => void) | 提供時間變化回調(diào),該事件回調(diào)間隔為秒。 - value: Unix Time Stamp,即自1970年1月1日(UTC)起經(jīng)過的秒數(shù)。 |
TextClockController
TextClock容器組件的控制器,可以將該控制器綁定到TextClock組件,通過它控制文本時鐘的啟動與停止。一個TextClock組件僅支持綁定一個控制器。
導入對象
controller: TextClockController = new TextClockController();
start
start()
啟動文本時鐘。
stop
stop()
停止文本時鐘。HarmonyOS與OpenHarmony鴻蒙文檔籽料:mau123789是v直接拿
示例
@Entry
@Component
struct Second {
@State accumulateTime: number = 0
// 導入對象
controller: TextClockController = new TextClockController()
build() {
Flex({ direction: FlexDirection.Column, alignItems: ItemAlign.Center, justifyContent: FlexAlign.Center }) {
Text('Current milliseconds is ' + this.accumulateTime)
.fontSize(20)
// 以12小時制顯示東八區(qū)的系統(tǒng)時間,精確到秒。
TextClock({ timeZoneOffset: -8, controller: this.controller })
.format('aa hh:mm:ss')
.onDateChange((value: number) = > {
this.accumulateTime = value
})
.margin(20)
.fontSize(30)
Button("start TextClock")
.margin({ bottom: 10 })
.onClick(() = > {
// 啟動文本時鐘
this.controller.start()
})
Button("stop TextClock")
.onClick(() = > {
// 停止文本時鐘
this.controller.stop()
})
}
.width('100%')
.height('100%')
}
}
審核編輯 黃宇
-
組件
+關(guān)注
關(guān)注
1文章
532瀏覽量
18421 -
鴻蒙
+關(guān)注
關(guān)注
60文章
2620瀏覽量
44044
發(fā)布評論請先 登錄
HarmonyOS/OpenHarmony應用開發(fā)-ArkTS的聲明式開發(fā)范式
HarmonyOS/OpenHarmony應用開發(fā)-聲明式開發(fā)范式組件匯總
鴻蒙ArkTS聲明式組件:PatternLock

評論