js-apis-system-time.md 13.3 KB
Newer Older
Z
zengyawen 已提交
1 2 3 4 5 6 7
# 设置系统时间

> ![icon-note.gif](public_sys-resources/icon-note.gif) **说明:**
> 本模块首批接口从API version 7开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。


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

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


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

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

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

**需要权限:**ohos.permission.SET_TIME

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

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

- 示例:
Z
zengyawen 已提交
32
    
Z
zengyawen 已提交
33 34 35 36 37 38 39 40
  ```
  // 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 已提交
41
      console.log(`systemTime.setTime success data : ` + JSON.stringify(data));
Z
zengyawen 已提交
42 43 44 45 46 47 48 49
  });
  ```


## systemTime.setTime

setTime(time : number) : Promise<void>

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

**需要权限:**ohos.permission.SET_TIME

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

- 参数:
Z
zengyawen 已提交
57
    | 参数名 | 类型 | 必填 | 说明 | 
Z
zengyawen 已提交
58
  | -------- | -------- | -------- | -------- |
Z
zengyawen 已提交
59
  | time | number | 是 | 目标时间戳(毫秒)。 | 
Z
zengyawen 已提交
60 61

- 返回值:
Z
zengyawen 已提交
62
    | 类型 | 说明 | 
Z
zengyawen 已提交
63
  | -------- | -------- |
Z
zengyawen 已提交
64
  | Promise<void> | 返回的异步回调函数。 | 
Z
zengyawen 已提交
65 66

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


Z
zengyawen 已提交
79 80 81 82 83 84
## systemTime.getCurrentTime<sup>8+</sup>

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

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

85
**系统能力**: SystemCapability.MiscServices.Time
Z
zengyawen 已提交
86 87 88 89 90 91 92 93

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

- 示例:
Z
zengyawen 已提交
94
    
Z
zengyawen 已提交
95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111
  ```
  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形式返回结果。

112
**系统能力**: SystemCapability.MiscServices.Time
Z
zengyawen 已提交
113 114 115 116 117 118 119 120 121 122 123 124

- 参数:
    | 参数名 | 类型 | 必填 | 说明 | 
  | -------- | -------- | -------- | -------- |
  | isNano | boolean | 否 | 如果是true,返回纳秒数;否则返回毫秒数。 | 

- 返回值:
    | 类型 | 说明 | 
  | -------- | -------- |
  | Promise&lt;number&gt; | 以Promise形式返回结果,返回自&nbsp;Unix&nbsp;纪元以来经过的时间。 | 

- 示例:
Z
zengyawen 已提交
125
    
Z
zengyawen 已提交
126 127 128 129 130 131 132 133 134 135 136 137 138 139 140
  ```
  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形式返回结果。

141
**系统能力**: SystemCapability.MiscServices.Time
Z
zengyawen 已提交
142 143 144 145 146 147 148 149

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

- 示例:
Z
zengyawen 已提交
150
    
Z
zengyawen 已提交
151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167
  ```
  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形式返回结果。

168
**系统能力**: SystemCapability.MiscServices.Time
Z
zengyawen 已提交
169 170 171 172 173 174 175 176 177 178 179 180

- 参数:
    | 参数名 | 类型 | 必填 | 说明 | 
  | -------- | -------- | -------- | -------- |
  | isNano | boolean | 否 | 如果是true,返回纳秒数;否则返回毫秒数。 | 

- 返回值:
    | 类型 | 说明 | 
  | -------- | -------- |
  | Promise&lt;number&gt; | 以Promise形式返回结果,返回自系统启动以来但不包括度睡眠时间经过的时间。 | 

- 示例:
Z
zengyawen 已提交
181
    
Z
zengyawen 已提交
182 183 184 185 186 187 188 189 190 191 192 193 194 195 196
  ```
  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形式返回结果。

197
**系统能力**: SystemCapability.MiscServices.Time
Z
zengyawen 已提交
198 199 200 201 202 203 204 205

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

- 示例:
Z
zengyawen 已提交
206
    
Z
zengyawen 已提交
207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223
  ```
  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形式返回结果。

224
**系统能力**: SystemCapability.MiscServices.Time
Z
zengyawen 已提交
225 226 227 228 229 230 231 232 233 234 235 236

- 参数:
    | 参数名 | 类型 | 必填 | 说明 | 
  | -------- | -------- | -------- | -------- |
  | isNano | boolean | 否 | 如果是true,返回纳秒数;否则返回毫秒数。 | 

- 返回值:
    | 类型 | 说明 | 
  | -------- | -------- |
  | Promise&lt;number&gt; | 以Promise形式返回结果,返回自系统启动以来包括深度睡眠时间经过的时间。 | 

- 示例:
Z
zengyawen 已提交
237
    
Z
zengyawen 已提交
238 239 240 241 242 243 244 245 246
  ```
  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 已提交
247 248 249 250
## systemTime.setDate

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

Z
zengyawen 已提交
251 252 253 254
设置系统日期,使用callback形式返回结果。

**需要权限:**ohos.permission.SET_TIME

255
**系统能力**: SystemCapability.MiscServices.Time
Z
zengyawen 已提交
256 257

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

- 示例:
Z
zengyawen 已提交
264
    
Z
zengyawen 已提交
265 266 267 268
  ```
  var data = new Date("October 13, 2020 11:13:00");
  systemTime.setDate(data,(error, data) => {       
      if (error) {            
Z
zengyawen 已提交
269
      console.error('failed to systemTime.setDate because ' + JSON.stringify(error));           
Z
zengyawen 已提交
270 271
      return;       
  }        
Z
zengyawen 已提交
272
      console.info('systemTime.setDate success data : ' + JSON.stringify(data));    
Z
zengyawen 已提交
273 274 275 276 277 278 279 280
  });
  ```


## systemTime.setDate

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

Z
zengyawen 已提交
281 282 283 284
设置系统日期,使用Promise形式返回结果。

**需要权限:**ohos.permission.SET_TIME

285
**系统能力**: SystemCapability.MiscServices.Time
Z
zengyawen 已提交
286 287

- 参数:
Z
zengyawen 已提交
288
    | 参数名 | 类型 | 必填 | 说明 | 
Z
zengyawen 已提交
289
  | -------- | -------- | -------- | -------- |
Z
zengyawen 已提交
290
  | date | Date | 是 | 目标日期。 | 
Z
zengyawen 已提交
291 292

- 返回值:
Z
zengyawen 已提交
293
    | 类型 | 说明 | 
Z
zengyawen 已提交
294
  | -------- | -------- |
Z
zengyawen 已提交
295
  | Promise&lt;void&gt; | 返回的异步回调函数。 | 
Z
zengyawen 已提交
296

Z
zengyawen 已提交
297
- 示例:
Z
zengyawen 已提交
298
    
Z
zengyawen 已提交
299 300 301
  ```
  var data = new Date("October 13, 2020 11:13:00"); 
  systemTime.setDate(data).then((value) => {        
Z
zengyawen 已提交
302
      console.log(`systemTime.setDate success data : ` + JSON.stringify(value));    
Z
zengyawen 已提交
303
  }).catch((error) => {        
Z
zengyawen 已提交
304 305 306 307 308 309 310 311 312 313 314
      console.error(`failed to systemTime.setDate because: ` + JSON.stringify(error));
  });
  ```


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

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

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

315
**系统能力**: SystemCapability.MiscServices.Time
Z
zengyawen 已提交
316 317 318 319 320 321 322

- 参数:
    | 参数名 | 类型 | 必填 | 说明 | 
  | -------- | -------- | -------- | -------- |
  | callback | AsyncCallback&lt;Date&gt; | 是 | 回调函数,返回当前系统日期。 | 

- 示例:
Z
zengyawen 已提交
323
    
Z
zengyawen 已提交
324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340
  ```
  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形式返回结果。

341
**系统能力**: SystemCapability.MiscServices.Time
Z
zengyawen 已提交
342 343 344 345 346 347 348

- 返回值:
    | 类型 | 说明 | 
  | -------- | -------- |
  | Promise&lt;Date&gt; | 以Promise形式返回结果,返回当前系统日期。 | 

- 示例:
Z
zengyawen 已提交
349
    
Z
zengyawen 已提交
350 351 352 353 354
  ```
  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 已提交
355 356 357 358 359 360 361 362
  });
  ```


## systemTime.setTimezone

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

Z
zengyawen 已提交
363 364 365 366
设置系统时区。

**需要权限:**ohos.permission.SET_TIME_ZONE

367
**系统能力**: SystemCapability.MiscServices.Time
Z
zengyawen 已提交
368 369

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

- 示例:
Z
zengyawen 已提交
376
    
Z
zengyawen 已提交
377 378 379
  ```
  systemTime.setTimezone('Asia/Shanghai', (error, data) => {       
      if (error) {          
Z
zengyawen 已提交
380
          console.error('failed to systemTime.setTimezone because ' + JSON.stringify(error));         
Z
zengyawen 已提交
381 382
          return;       
      }       
Z
zengyawen 已提交
383
      console.info('SystemTimePlugin systemTime.setTimezone success data : ' + JSON.stringify(data)); 
Z
zengyawen 已提交
384 385 386 387 388 389 390 391
  });
  ```


## systemTime.setTimezone

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

Z
zengyawen 已提交
392 393 394 395
设置系统时区。

**需要权限:**ohos.permission.SET_TIME_ZONE

396
**系统能力**: SystemCapability.MiscServices.Time
Z
zengyawen 已提交
397 398

- 参数:
Z
zengyawen 已提交
399
    | 参数名 | 类型 | 必填 | 说明 | 
Z
zengyawen 已提交
400
  | -------- | -------- | -------- | -------- |
Z
zengyawen 已提交
401
  | timezone | string | 是 | 系统时区。 | 
Z
zengyawen 已提交
402 403

- 返回值:
Z
zengyawen 已提交
404
    | 类型 | 说明 | 
Z
zengyawen 已提交
405
  | -------- | -------- |
Z
zengyawen 已提交
406
  | Promise&lt;void&gt; | 返回的异步回调函数。 | 
Z
zengyawen 已提交
407 408

- 示例:
Z
zengyawen 已提交
409
    
Z
zengyawen 已提交
410 411
  ```
  systemTime.setTimezone('Asia/Shanghai').then((data) => {        
Z
zengyawen 已提交
412
      console.log(`systemTime.setTimezone success data : ` + JSON.stringify(data));     
Z
zengyawen 已提交
413
  }).catch((error) => {        
Z
zengyawen 已提交
414 415 416 417 418
      console.error(`failed to systemTime.setTimezone because: ` + JSON.stringify(error));    
  });
  ```


419
## systemTime.getTimezone<sup>8+</sup>
Z
zengyawen 已提交
420

421
getTimezone(callback: AsyncCallback&lt;string&gt;): void
Z
zengyawen 已提交
422 423 424

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

425
**系统能力**: SystemCapability.MiscServices.Time
Z
zengyawen 已提交
426 427 428 429 430 431 432

- 参数:
    | 参数名 | 类型 | 必填 | 说明 | 
  | -------- | -------- | -------- | -------- |
  | callback | AsyncCallback&lt;string&gt; | 是 | 回调函数,返回系统时区。 | 

- 示例:
Z
zengyawen 已提交
433
    
Z
zengyawen 已提交
434
  ```
435
  systemTime.getTimezone((error, data) => {
Z
zengyawen 已提交
436
      if (error) {
437
          console.error(`failed to systemTime.getTimezone because ` + JSON.stringify(error));
Z
zengyawen 已提交
438 439
          return;
      }
440
      console.log(`systemTime.getTimezone success data : ` + JSON.stringify(data));
Z
zengyawen 已提交
441 442 443 444
  });
  ```


445
## systemTime.getTimezone<sup>8+</sup>
Z
zengyawen 已提交
446

447
getTimezone(): Promise&lt;string&gt;
Z
zengyawen 已提交
448 449 450

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

451
**系统能力**: SystemCapability.MiscServices.Time
Z
zengyawen 已提交
452 453 454 455 456 457 458

- 返回值:
    | 类型 | 说明 | 
  | -------- | -------- |
  | Promise&lt;string&gt; | 以Promise形式返回结果,返回系统时区。 | 

- 示例:
Z
zengyawen 已提交
459
    
Z
zengyawen 已提交
460
  ```
461 462
  systemTime.getTimezone().then((data) => {
      console.log(`systemTime.getTimezone success data : ` + JSON.stringify(data));
Z
zengyawen 已提交
463
  }).catch((error) => {
464
      console.error(`failed to systemTime.getTimezone because ` + JSON.stringify(error));
Z
zengyawen 已提交
465 466
  });
  ```