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

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
**需要权限:** ohos.permission.SET_TIME
Z
zengyawen 已提交
22

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

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

- 示例:
32 33
  
  ```js
Z
zengyawen 已提交
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
**需要权限:** ohos.permission.SET_TIME
Z
zengyawen 已提交
53

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

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

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

- 示例:
67 68
  
  ```js
Z
zengyawen 已提交
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
    | 参数名 | 类型 | 必填 | 说明 |
Z
zengyawen 已提交
89
  | -------- | -------- | -------- | -------- |
90 91
  | isNano | boolean | 否 | 如果是true,返回纳秒数;否则返回毫秒数。 |
  | callback | AsyncCallback&lt;number&gt; | 是 | 回调函数,返回自&nbsp;Unix&nbsp;纪元以来经过的时间。 |
Z
zengyawen 已提交
92 93

- 示例:
94 95
  
  ```js
Z
zengyawen 已提交
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
    | 参数名 | 类型 | 必填 | 说明 |
Z
zengyawen 已提交
116
  | -------- | -------- | -------- | -------- |
117
  | isNano | boolean | 否 | 如果是true,返回纳秒数;否则返回毫秒数。 |
Z
zengyawen 已提交
118 119

- 返回值:
120
    | 类型 | 说明 |
Z
zengyawen 已提交
121
  | -------- | -------- |
122
  | Promise&lt;number&gt; | 以Promise形式返回结果,返回自&nbsp;Unix&nbsp;纪元以来经过的时间。 |
Z
zengyawen 已提交
123 124

- 示例:
125 126
  
  ```js
Z
zengyawen 已提交
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
    | 参数名 | 类型 | 必填 | 说明 |
Z
zengyawen 已提交
145
  | -------- | -------- | -------- | -------- |
146 147
  | isNano | boolean | 否 | 如果是true,返回纳秒数;否则返回毫秒数。 |
  | callback | AsyncCallback&lt;number&gt; | 是 | 回调函数,返回自系统启动以来但不包括度睡眠时间经过的时间。 |
Z
zengyawen 已提交
148 149

- 示例:
150 151
  
  ```js
Z
zengyawen 已提交
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
    | 参数名 | 类型 | 必填 | 说明 |
Z
zengyawen 已提交
172
  | -------- | -------- | -------- | -------- |
173
  | isNano | boolean | 否 | 如果是true,返回纳秒数;否则返回毫秒数。 |
Z
zengyawen 已提交
174 175

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

- 示例:
181 182
  
  ```js
Z
zengyawen 已提交
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
    | 参数名 | 类型 | 必填 | 说明 |
Z
zengyawen 已提交
201
  | -------- | -------- | -------- | -------- |
202 203
  | isNano | boolean | 否 | 如果是true,返回纳秒数;否则返回毫秒数。 |
  | callback | AsyncCallback&lt;number&gt; | 是 | 回调函数,返回自系统启动以来包括深度睡眠时间经过的毫秒数。 |
Z
zengyawen 已提交
204 205

- 示例:
206 207
  
  ```js
Z
zengyawen 已提交
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
    | 参数名 | 类型 | 必填 | 说明 |
Z
zengyawen 已提交
228
  | -------- | -------- | -------- | -------- |
229
  | isNano | boolean | 否 | 如果是true,返回纳秒数;否则返回毫秒数。 |
Z
zengyawen 已提交
230 231

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

- 示例:
237 238
  
  ```js
Z
zengyawen 已提交
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
设置系统日期,使用callback形式返回结果。

253
**需要权限:** ohos.permission.SET_TIME
Z
zengyawen 已提交
254

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

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

- 示例:
264 265
  
  ```js
Z
zengyawen 已提交
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
设置系统日期,使用Promise形式返回结果。

283
**需要权限:** ohos.permission.SET_TIME
Z
zengyawen 已提交
284

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

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

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

Z
zengyawen 已提交
297
- 示例:
298 299
  
  ```js
Z
zengyawen 已提交
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
    | 参数名 | 类型 | 必填 | 说明 |
Z
zengyawen 已提交
319
  | -------- | -------- | -------- | -------- |
320
  | callback | AsyncCallback&lt;Date&gt; | 是 | 回调函数,返回当前系统日期。 |
Z
zengyawen 已提交
321 322

- 示例:
323 324
  
  ```js
Z
zengyawen 已提交
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
    | 类型 | 说明 |
Z
zengyawen 已提交
345
  | -------- | -------- |
346
  | Promise&lt;Date&gt; | 以Promise形式返回结果,返回当前系统日期。 |
Z
zengyawen 已提交
347 348

- 示例:
349 350
  
  ```js
Z
zengyawen 已提交
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
**需要权限:** ohos.permission.SET_TIME_ZONE
Z
zengyawen 已提交
366

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

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

- 示例:
376 377
  
  ```js
Z
zengyawen 已提交
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
**需要权限:** ohos.permission.SET_TIME_ZONE
Z
zengyawen 已提交
395

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

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

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

- 示例:
409 410
  
  ```js
Z
zengyawen 已提交
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
    | 参数名 | 类型 | 必填 | 说明 |
Z
zengyawen 已提交
429
  | -------- | -------- | -------- | -------- |
430
  | callback | AsyncCallback&lt;string&gt; | 是 | 回调函数,返回系统时区。 |
Z
zengyawen 已提交
431 432

- 示例:
433 434
  
  ```js
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
    | 类型 | 说明 |
Z
zengyawen 已提交
455
  | -------- | -------- |
456
  | Promise&lt;string&gt; | 以Promise形式返回结果,返回系统时区。 |
Z
zengyawen 已提交
457 458

- 示例:
459 460
  
  ```js
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
  });
  ```