js-apis-system-time.md 13.5 KB
Newer Older
Z
zengyawen 已提交
1 2
# 设置系统时间

3
本模块用来设置、获取当前系统时间,设置、获取当前系统日期和设置、获取当前系统时区。
Z
zengyawen 已提交
4 5 6 7 8
> ![icon-note.gif](public_sys-resources/icon-note.gif) **说明:**
> 本模块首批接口从API version 7开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。


## 导入模块
Z
zengyawen 已提交
9

10

Z
zengyawen 已提交
11 12 13 14 15
```
import systemTime from '@ohos.systemTime';
```


Z
zengyawen 已提交
16 17 18 19
## systemTime.setTime

setTime(time : number, callback : AsyncCallback<void>) : void

Z
zengyawen 已提交
20 21
设置系统时间。

22
**需要权限:** ohos.permission.SET_TIME
Z
zengyawen 已提交
23

24
**系统能力:** SystemCapability.Miscservices.Time
Z
zengyawen 已提交
25

26 27 28
**参数:**

  | 参数名 | 类型 | 必填 | 说明 |
Z
zengyawen 已提交
29
  | -------- | -------- | -------- | -------- |
30
  | time | number | 是 | 目标时间戳(ms)。 |
31
  | callback | AsyncCallback<void> | 是 | 回调函数,可以在回调函数中处理接口返回值。 |
Z
zengyawen 已提交
32

33
**示例:**
34 35
  
  ```js
Z
zengyawen 已提交
36 37 38 39 40 41 42
  // time对应的时间为2021-01-20 02:36:25
  var time = 1611081385000;
  systemTime.setTime(time, (error, data) => {
      if (error) {
          console.error(`failed to systemTime.setTime because ` + JSON.stringify(error));
          return;
      }
Z
zengyawen 已提交
43
      console.log(`systemTime.setTime success data : ` + JSON.stringify(data));
Z
zengyawen 已提交
44 45 46 47 48 49 50 51
  });
  ```


## systemTime.setTime

setTime(time : number) : Promise<void>

Z
zengyawen 已提交
52 53
设置系统时间。

54
**需要权限:** ohos.permission.SET_TIME
Z
zengyawen 已提交
55

56
**系统能力:** SystemCapability.MiscServices.Time
Z
zengyawen 已提交
57

58 59 60
**参数:**

  | 参数名 | 类型 | 必填 | 说明 |
Z
zengyawen 已提交
61
  | -------- | -------- | -------- | -------- |
62 63 64
  | time | number | 是 | 目标时间戳(ms)。 |

**返回值:**
Z
zengyawen 已提交
65

66
  | 类型 | 说明 |
Z
zengyawen 已提交
67
  | -------- | -------- |
68
  | Promise<void> | 返回的异步回调函数。 |
Z
zengyawen 已提交
69

70
**示例:**
71 72
  
  ```js
Z
zengyawen 已提交
73 74 75
  // time对应的时间为2021-01-20 02:36:25
  var time = 1611081385000;
  systemTime.setTime(time).then((data) => {
Z
zengyawen 已提交
76
      console.log(`systemTime.setTime success data : ` + JSON.stringify(data));
Z
zengyawen 已提交
77 78 79 80 81 82
  }).catch((error) => {
      console.error(`failed to systemTime.setTime because ` + JSON.stringify(error));
  });
  ```


Z
zengyawen 已提交
83 84 85 86 87 88
## systemTime.getCurrentTime<sup>8+</sup>

getCurrentTime(isNano?: boolean, callback: AsyncCallback&lt;number&gt;): void

获取自 Unix 纪元以来经过的时间,使用callback形式返回结果。

89
**系统能力:** SystemCapability.MiscServices.Time
Z
zengyawen 已提交
90

91 92 93
**参数:**

  | 参数名 | 类型 | 必填 | 说明 |
Z
zengyawen 已提交
94
  | -------- | -------- | -------- | -------- |
95 96
  | isNano | boolean | 否 | 如果是true,返回纳秒数;否则返回毫秒数。 |
  | callback | AsyncCallback&lt;number&gt; | 是 | 回调函数,返回自&nbsp;Unix&nbsp;纪元以来经过的时间。 |
Z
zengyawen 已提交
97

98
**示例:**
99 100
  
  ```js
Z
zengyawen 已提交
101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116
  systemTime.getCurrentTime(true, (error, data) => {
      if (error) {
          console.error(`failed to systemTime.getCurrentTime because ` + JSON.stringify(error));
          return;
      }
      console.log(`systemTime.getCurrentTime success data : ` + JSON.stringify(data));
  });
  ```


## systemTime.getCurrentTime<sup>8+</sup>

getCurrentTime(isNano?: boolean): Promise&lt;number&gt;

获取自 Unix 纪元以来经过的时间,使用Promise形式返回结果。

117
**系统能力:** SystemCapability.MiscServices.Time
Z
zengyawen 已提交
118

119 120 121
**参数:**

  | 参数名 | 类型 | 必填 | 说明 |
Z
zengyawen 已提交
122
  | -------- | -------- | -------- | -------- |
123
  | isNano | boolean | 否 | 如果是true,返回纳秒数;否则返回毫秒数。 |
Z
zengyawen 已提交
124

125 126 127
**返回值:**

  | 类型 | 说明 |
Z
zengyawen 已提交
128
  | -------- | -------- |
129
  | Promise&lt;number&gt; | 以Promise形式返回结果,返回自&nbsp;Unix&nbsp;纪元以来经过的时间。 |
Z
zengyawen 已提交
130

131
**示例:**
132 133
  
  ```js
Z
zengyawen 已提交
134 135 136 137 138 139 140 141 142 143 144 145 146 147
  systemTime.getCurrentTime().then((data) => {
      console.log(`systemTime.getCurrentTime success data : ` + JSON.stringify(data));
  }).catch((error) => {
      console.error(`failed to systemTime.getCurrentTime because ` + JSON.stringify(error));
  });
  ```


## systemTime.getRealActiveTime<sup>8+</sup>

getRealActiveTime(isNano?: boolean, callback: AsyncCallback&lt;number&gt;): void

获取自系统启动以来经过的时间,不包括深度睡眠时间,使用callback形式返回结果。

148
**系统能力:** SystemCapability.MiscServices.Time
Z
zengyawen 已提交
149

150 151 152
**参数:**

  | 参数名 | 类型 | 必填 | 说明 |
Z
zengyawen 已提交
153
  | -------- | -------- | -------- | -------- |
154 155
  | isNano | boolean | 否 | 如果是true,返回纳秒数;否则返回毫秒数。 |
  | callback | AsyncCallback&lt;number&gt; | 是 | 回调函数,返回自系统启动以来但不包括度睡眠时间经过的时间。 |
Z
zengyawen 已提交
156

157
**示例:**
158 159
  
  ```js
Z
zengyawen 已提交
160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175
  systemTime.getRealActiveTime(true, (error, data) => {
      if (error) {
          console.error(`failed to systemTime.getRealActiveTimebecause ` + JSON.stringify(error));
          return;
      }
      console.log(`systemTime.getRealActiveTime success data : ` + JSON.stringify(data));
  });
  ```


## systemTime.getRealActiveTime<sup>8+</sup>

getRealActiveTime(isNano?: boolean): Promise&lt;number&gt;

获取自系统启动以来经过的时间,不包括深度睡眠时间,使用Promise形式返回结果。

176
**系统能力:** SystemCapability.MiscServices.Time
Z
zengyawen 已提交
177

178 179 180
**参数:**

  | 参数名 | 类型 | 必填 | 说明 |
Z
zengyawen 已提交
181
  | -------- | -------- | -------- | -------- |
182
  | isNano | boolean | 否 | 如果是true,返回纳秒数;否则返回毫秒数。 |
Z
zengyawen 已提交
183

184 185 186
**返回值:**

  | 类型 | 说明 |
Z
zengyawen 已提交
187
  | -------- | -------- |
188
  | Promise&lt;number&gt; | 以Promise形式返回结果,返回自系统启动以来经过的时间,但不包括深度睡眠时间。 |
Z
zengyawen 已提交
189

190
**示例:**
191 192
  
  ```js
Z
zengyawen 已提交
193 194 195 196 197 198 199 200 201 202 203 204 205 206
  systemTime.getCurrentTime().then((data) => {
      console.log(`systemTime.getRealActiveTime success data : ` + JSON.stringify(data));
  }).catch((error) => {
      console.error(`failed to systemTime.getRealActiveTime because ` + JSON.stringify(error));
  });
  ```


## systemTime.getRealTime<sup>8+</sup>

getRealTime(callback: AsyncCallback&lt;number&gt;): void

获取自系统启动以来经过的时间,包括深度睡眠时间,使用callback形式返回结果。

207
**系统能力:** SystemCapability.MiscServices.Time
Z
zengyawen 已提交
208

209 210 211
**参数:**

  | 参数名 | 类型 | 必填 | 说明 |
Z
zengyawen 已提交
212
  | -------- | -------- | -------- | -------- |
213
  | isNano | boolean | 否 | 如果是true,返回纳秒数;否则返回毫秒数。 |
214
  | callback | AsyncCallback&lt;number&gt; | 是 | 回调函数,返回自系统启动以来经过的时间,包括深度睡眠时间。 |
Z
zengyawen 已提交
215

216
**示例:**
217 218
  
  ```js
Z
zengyawen 已提交
219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234
  systemTime.getRealTime(true, (error, data) => {
      if (error) {
          console.error(`failed to systemTime.getRealTime because ` + JSON.stringify(error));
          return;
      }
      console.log(`systemTime.getRealTime success data: ` + JSON.stringify(data));
  });
  ```


## systemTime.getRealTime<sup>8+</sup>

getRealTime(): Promise&lt;number&gt;

获取自系统启动以来经过的时间,包括深度睡眠时间,使用Promise形式返回结果。

235
**系统能力:** SystemCapability.MiscServices.Time
Z
zengyawen 已提交
236

237 238 239
**参数:**

  | 参数名 | 类型 | 必填 | 说明 |
Z
zengyawen 已提交
240
  | -------- | -------- | -------- | -------- |
241
  | isNano | boolean | 否 | 如果是true,返回纳秒数;否则返回毫秒数。 |
Z
zengyawen 已提交
242

243 244 245
**返回值:**

  | 类型 | 说明 |
Z
zengyawen 已提交
246
  | -------- | -------- |
247
  | Promise&lt;number&gt; | 以Promise形式返回结果,返回自系统启动以来经过的时间,包括深度睡眠时间。 |
Z
zengyawen 已提交
248

249
**示例:**
250 251
  
  ```js
Z
zengyawen 已提交
252 253 254 255 256 257 258 259
  systemTime.getRealTime().then((data) => {
      console.log(`systemTime.getRealTime success data: ` + JSON.stringify(data));
  }).catch((error) => {
      console.error(`failed to systemTime.getRealTime because ` + JSON.stringify(error));
  });
  ```


Z
zengyawen 已提交
260 261 262 263
## systemTime.setDate

setDate(date: Date, callback: AsyncCallback&lt;void&gt;): void

Z
zengyawen 已提交
264 265
设置系统日期,使用callback形式返回结果。

266
**需要权限:** ohos.permission.SET_TIME
Z
zengyawen 已提交
267

268
**系统能力:** SystemCapability.MiscServices.Time
Z
zengyawen 已提交
269

270 271 272
**参数:**

  | 参数名 | 类型 | 必填 | 说明 |
Z
zengyawen 已提交
273
  | -------- | -------- | -------- | -------- |
274 275
  | date | Date | 是 | 目标日期。 |
  | callback | AsyncCallback&lt;void&gt; | 是 | 回调函数,可以在回调函数中处理接口返回值。 |
Z
zengyawen 已提交
276

277
**示例:**
278 279
  
  ```js
Z
zengyawen 已提交
280 281 282
  var data = new Date("October 13, 2020 11:13:00");
  systemTime.setDate(data,(error, data) => {       
      if (error) {            
Z
zengyawen 已提交
283
      console.error('failed to systemTime.setDate because ' + JSON.stringify(error));           
Z
zengyawen 已提交
284 285
      return;       
  }        
Z
zengyawen 已提交
286
      console.info('systemTime.setDate success data : ' + JSON.stringify(data));    
Z
zengyawen 已提交
287 288 289 290 291 292 293 294
  });
  ```


## systemTime.setDate

setDate(date: Date): Promise&lt;void&gt;

Z
zengyawen 已提交
295 296
设置系统日期,使用Promise形式返回结果。

297
**需要权限:** ohos.permission.SET_TIME
Z
zengyawen 已提交
298

299
**系统能力:** SystemCapability.MiscServices.Time
Z
zengyawen 已提交
300

301 302 303
**参数:**

  | 参数名 | 类型 | 必填 | 说明 |
Z
zengyawen 已提交
304
  | -------- | -------- | -------- | -------- |
305
  | date | Date | 是 | 目标日期。 |
Z
zengyawen 已提交
306

307 308 309
**返回值:**

  | 类型 | 说明 |
Z
zengyawen 已提交
310
  | -------- | -------- |
311
  | Promise&lt;void&gt; | 返回的异步回调函数。 |
Z
zengyawen 已提交
312

313
**示例:**
314 315
  
  ```js
Z
zengyawen 已提交
316 317
  var data = new Date("October 13, 2020 11:13:00"); 
  systemTime.setDate(data).then((value) => {        
Z
zengyawen 已提交
318
      console.log(`systemTime.setDate success data : ` + JSON.stringify(value));    
Z
zengyawen 已提交
319
  }).catch((error) => {        
Z
zengyawen 已提交
320 321 322 323 324 325 326 327 328 329 330
      console.error(`failed to systemTime.setDate because: ` + JSON.stringify(error));
  });
  ```


## systemTime.getDate<sup>8+</sup>

getDate(callback: AsyncCallback&lt;Date&gt;): void

获取当前系统日期,使用callback形式返回结果。

331
**系统能力:** SystemCapability.MiscServices.Time
Z
zengyawen 已提交
332

333 334 335
**参数:**

  | 参数名 | 类型 | 必填 | 说明 |
Z
zengyawen 已提交
336
  | -------- | -------- | -------- | -------- |
337
  | callback | AsyncCallback&lt;Date&gt; | 是 | 回调函数,返回当前系统日期。 |
Z
zengyawen 已提交
338

339
**示例:**
340 341
  
  ```js
Z
zengyawen 已提交
342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357
  systemTime.getDate((error, data) => {
      if (error) {
          console.error(`failed to systemTime.getDate because ` + JSON.stringify(error));
          return;
      }
      console.log(`systemTime.getDate success data : ` + JSON.stringify(data));
  });
  ```


## systemTime.getDate<sup>8+</sup>

getDate(): Promise&lt;Date&gt;

获取当前系统日期,使用Promise形式返回结果。

358
**系统能力:** SystemCapability.MiscServices.Time
Z
zengyawen 已提交
359

360 361 362
**返回值:**

  | 类型 | 说明 |
Z
zengyawen 已提交
363
  | -------- | -------- |
364
  | Promise&lt;Date&gt; | 以Promise形式返回结果,返回当前系统日期。 |
Z
zengyawen 已提交
365

366
**示例:**
367 368
  
  ```js
Z
zengyawen 已提交
369 370 371 372
  systemTime.getDate().then((data) => {
      console.log(`systemTime.getDate success data : ` + JSON.stringify(data));
  }).catch((error) => {
      console.error(`failed to systemTime.getDate because ` + JSON.stringify(error));
Z
zengyawen 已提交
373 374 375 376 377 378 379 380
  });
  ```


## systemTime.setTimezone

setTimezone(timezone: string, callback: AsyncCallback&lt;void&gt;): void

Z
zengyawen 已提交
381 382
设置系统时区。

383
**需要权限:** ohos.permission.SET_TIME_ZONE
Z
zengyawen 已提交
384

385
**系统能力:** SystemCapability.MiscServices.Time
Z
zengyawen 已提交
386

387 388 389
**参数:**

  | 参数名 | 类型 | 必填 | 说明 |
Z
zengyawen 已提交
390
  | -------- | -------- | -------- | -------- |
391 392
  | timezone | string | 是 | 系统时区。 |
  | callback | AsyncCallback&lt;void&gt; | 是 | 回调函数,可以在回调函数中处理接口返回值。 |
Z
zengyawen 已提交
393

394
**示例:**
395 396
  
  ```js
Z
zengyawen 已提交
397 398
  systemTime.setTimezone('Asia/Shanghai', (error, data) => {       
      if (error) {          
Z
zengyawen 已提交
399
          console.error('failed to systemTime.setTimezone because ' + JSON.stringify(error));         
Z
zengyawen 已提交
400 401
          return;       
      }       
Z
zengyawen 已提交
402
      console.info('SystemTimePlugin systemTime.setTimezone success data : ' + JSON.stringify(data)); 
Z
zengyawen 已提交
403 404 405 406 407 408 409 410
  });
  ```


## systemTime.setTimezone

setTimezone(timezone: string): Promise&lt;void&gt;

Z
zengyawen 已提交
411 412
设置系统时区。

413
**需要权限:** ohos.permission.SET_TIME_ZONE
Z
zengyawen 已提交
414

415
**系统能力:** SystemCapability.MiscServices.Time
Z
zengyawen 已提交
416

417 418 419
**参数:**

  | 参数名 | 类型 | 必填 | 说明 |
Z
zengyawen 已提交
420
  | -------- | -------- | -------- | -------- |
421
  | timezone | string | 是 | 系统时区。 |
Z
zengyawen 已提交
422

423 424 425
**返回值:**

  | 类型 | 说明 |
Z
zengyawen 已提交
426
  | -------- | -------- |
427
  | Promise&lt;void&gt; | 返回的异步回调函数。 |
Z
zengyawen 已提交
428

429
**示例:**
430 431
  
  ```js
Z
zengyawen 已提交
432
  systemTime.setTimezone('Asia/Shanghai').then((data) => {        
Z
zengyawen 已提交
433
      console.log(`systemTime.setTimezone success data : ` + JSON.stringify(data));     
Z
zengyawen 已提交
434
  }).catch((error) => {        
Z
zengyawen 已提交
435 436 437 438 439
      console.error(`failed to systemTime.setTimezone because: ` + JSON.stringify(error));    
  });
  ```


440
## systemTime.getTimezone<sup>8+</sup>
Z
zengyawen 已提交
441

442
getTimezone(callback: AsyncCallback&lt;string&gt;): void
Z
zengyawen 已提交
443 444 445

获取系统时区,使用callback形式返回结果。

446
**系统能力:** SystemCapability.MiscServices.Time
Z
zengyawen 已提交
447

448 449 450
**参数:**

  | 参数名 | 类型 | 必填 | 说明 |
Z
zengyawen 已提交
451
  | -------- | -------- | -------- | -------- |
452
  | callback | AsyncCallback&lt;string&gt; | 是 | 回调函数,返回系统时区。 |
Z
zengyawen 已提交
453

454
**示例:**
455 456
  
  ```js
457
  systemTime.getTimezone((error, data) => {
Z
zengyawen 已提交
458
      if (error) {
459
          console.error(`failed to systemTime.getTimezone because ` + JSON.stringify(error));
Z
zengyawen 已提交
460 461
          return;
      }
462
      console.log(`systemTime.getTimezone success data : ` + JSON.stringify(data));
Z
zengyawen 已提交
463 464 465 466
  });
  ```


467
## systemTime.getTimezone<sup>8+</sup>
Z
zengyawen 已提交
468

469
getTimezone(): Promise&lt;string&gt;
Z
zengyawen 已提交
470 471 472

获取系统时区,使用Promise形式返回结果。

473
**系统能力:** SystemCapability.MiscServices.Time
Z
zengyawen 已提交
474

475 476 477
**返回值:**

  | 类型 | 说明 |
Z
zengyawen 已提交
478
  | -------- | -------- |
479
  | Promise&lt;string&gt; | 以Promise形式返回结果,返回系统时区。 |
Z
zengyawen 已提交
480

481
**示例:**
482 483
  
  ```js
484 485
  systemTime.getTimezone().then((data) => {
      console.log(`systemTime.getTimezone success data : ` + JSON.stringify(data));
Z
zengyawen 已提交
486
  }).catch((error) => {
487
      console.error(`failed to systemTime.getTimezone because ` + JSON.stringify(error));
Z
zengyawen 已提交
488 489
  });
  ```