1e41f4b71Sopenharmony_ci# @ohos.systemDateTime (系统时间、时区)(系统接口) 2e41f4b71Sopenharmony_ci 3e41f4b71Sopenharmony_ci本模块主要由系统时间和系统时区功能组成。开发者可以设置、获取系统时间及系统时区。 4e41f4b71Sopenharmony_ci 5e41f4b71Sopenharmony_ci> **说明:** 6e41f4b71Sopenharmony_ci> 7e41f4b71Sopenharmony_ci> 本模块首批接口从API version 9开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 8e41f4b71Sopenharmony_ci 9e41f4b71Sopenharmony_ci## 导入模块 10e41f4b71Sopenharmony_ci 11e41f4b71Sopenharmony_ci```ts 12e41f4b71Sopenharmony_ciimport { systemDateTime } from '@kit.BasicServicesKit'; 13e41f4b71Sopenharmony_ci``` 14e41f4b71Sopenharmony_ci 15e41f4b71Sopenharmony_ci## TimeType<sup>10+</sup> 16e41f4b71Sopenharmony_ci 17e41f4b71Sopenharmony_ci定义获取时间的枚举类型。 18e41f4b71Sopenharmony_ci 19e41f4b71Sopenharmony_ci**系统能力**: SystemCapability.MiscServices.Time 20e41f4b71Sopenharmony_ci 21e41f4b71Sopenharmony_ci| 名称 | 值 | 说明 | 22e41f4b71Sopenharmony_ci| ------- | ---- | ------------------------------------------------ | 23e41f4b71Sopenharmony_ci| STARTUP | 0 | 自系统启动以来经过的毫秒数,包括深度睡眠时间。 | 24e41f4b71Sopenharmony_ci| ACTIVE | 1 | 自系统启动以来经过的毫秒数,不包括深度睡眠时间。 | 25e41f4b71Sopenharmony_ci 26e41f4b71Sopenharmony_ci## systemDateTime.setTime 27e41f4b71Sopenharmony_ci 28e41f4b71Sopenharmony_cisetTime(time : number, callback : AsyncCallback<void>) : void 29e41f4b71Sopenharmony_ci 30e41f4b71Sopenharmony_ci设置系统时间,使用callback异步回调。 31e41f4b71Sopenharmony_ci 32e41f4b71Sopenharmony_ci**系统接口:** 此接口为系统接口 33e41f4b71Sopenharmony_ci 34e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.MiscServices.Time 35e41f4b71Sopenharmony_ci 36e41f4b71Sopenharmony_ci**需要权限:** ohos.permission.SET_TIME 37e41f4b71Sopenharmony_ci 38e41f4b71Sopenharmony_ci**参数:** 39e41f4b71Sopenharmony_ci 40e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 41e41f4b71Sopenharmony_ci| -------- | ----------- | ---- | ---------------- | 42e41f4b71Sopenharmony_ci| time | number | 是 | 目标时间戳(ms)。 | 43e41f4b71Sopenharmony_ci| callback | AsyncCallback<void> | 是 | 回调函数。 | 44e41f4b71Sopenharmony_ci 45e41f4b71Sopenharmony_ci**错误码:** 46e41f4b71Sopenharmony_ci 47e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[时间时区错误码](./errorcode-time.md)。 48e41f4b71Sopenharmony_ci 49e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 50e41f4b71Sopenharmony_ci| -------- |-------------------------------------------------------------------------------------------------------------| 51e41f4b71Sopenharmony_ci| 201 | Permission denied. | 52e41f4b71Sopenharmony_ci| 202 | Permission verification failed. A non-system application calls a system API. | 53e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1.Mandatory parameters are left unspecified; 2.Incorrect parameter types. | 54e41f4b71Sopenharmony_ci 55e41f4b71Sopenharmony_ci**示例:** 56e41f4b71Sopenharmony_ci 57e41f4b71Sopenharmony_ci```ts 58e41f4b71Sopenharmony_ciimport { BusinessError } from '@kit.BasicServicesKit'; 59e41f4b71Sopenharmony_ci 60e41f4b71Sopenharmony_ci// time对应的时间为2021-01-20 02:36:25 61e41f4b71Sopenharmony_cilet time = 1611081385000; 62e41f4b71Sopenharmony_citry { 63e41f4b71Sopenharmony_ci systemDateTime.setTime(time, (error: BusinessError) => { 64e41f4b71Sopenharmony_ci if (error) { 65e41f4b71Sopenharmony_ci console.info(`Failed to set time. message: ${error.message}, code: ${error.code}`); 66e41f4b71Sopenharmony_ci return; 67e41f4b71Sopenharmony_ci } 68e41f4b71Sopenharmony_ci console.info(`Succeeded in setting time`); 69e41f4b71Sopenharmony_ci }); 70e41f4b71Sopenharmony_ci} catch(e) { 71e41f4b71Sopenharmony_ci let error = e as BusinessError; 72e41f4b71Sopenharmony_ci console.info(`Failed to set time. message: ${error.message}, code: ${error.code}`); 73e41f4b71Sopenharmony_ci} 74e41f4b71Sopenharmony_ci``` 75e41f4b71Sopenharmony_ci 76e41f4b71Sopenharmony_ci## systemDateTime.setTime 77e41f4b71Sopenharmony_ci 78e41f4b71Sopenharmony_cisetTime(time : number) : Promise<void> 79e41f4b71Sopenharmony_ci 80e41f4b71Sopenharmony_ci设置系统时间,使用Promise异步回调。 81e41f4b71Sopenharmony_ci 82e41f4b71Sopenharmony_ci**系统接口:** 此接口为系统接口 83e41f4b71Sopenharmony_ci 84e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.MiscServices.Time 85e41f4b71Sopenharmony_ci 86e41f4b71Sopenharmony_ci**需要权限:** ohos.permission.SET_TIME 87e41f4b71Sopenharmony_ci 88e41f4b71Sopenharmony_ci**参数:** 89e41f4b71Sopenharmony_ci 90e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 91e41f4b71Sopenharmony_ci| ------ | ------ | ---- | ------------------ | 92e41f4b71Sopenharmony_ci| time | number | 是 | 目标时间戳(ms)。 | 93e41f4b71Sopenharmony_ci 94e41f4b71Sopenharmony_ci**返回值:** 95e41f4b71Sopenharmony_ci 96e41f4b71Sopenharmony_ci| 类型 | 说明 | 97e41f4b71Sopenharmony_ci| ------------------- | ------------------------- | 98e41f4b71Sopenharmony_ci| Promise<void> | 无返回结果的Promise对象。 | 99e41f4b71Sopenharmony_ci 100e41f4b71Sopenharmony_ci**错误码:** 101e41f4b71Sopenharmony_ci 102e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[时间时区错误码](./errorcode-time.md)。 103e41f4b71Sopenharmony_ci 104e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 105e41f4b71Sopenharmony_ci| -------- |-------------------------------------------------------------------------------------------------------------| 106e41f4b71Sopenharmony_ci| 201 | Permission denied. | 107e41f4b71Sopenharmony_ci| 202 | Permission verification failed. A non-system application calls a system API. | 108e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1.Mandatory parameters are left unspecified; 2.Incorrect parameter types. | 109e41f4b71Sopenharmony_ci 110e41f4b71Sopenharmony_ci**示例:** 111e41f4b71Sopenharmony_ci 112e41f4b71Sopenharmony_ci```ts 113e41f4b71Sopenharmony_ciimport { BusinessError } from '@kit.BasicServicesKit'; 114e41f4b71Sopenharmony_ci 115e41f4b71Sopenharmony_ci// time对应的时间为2021-01-20 02:36:25 116e41f4b71Sopenharmony_cilet time = 1611081385000; 117e41f4b71Sopenharmony_citry { 118e41f4b71Sopenharmony_ci systemDateTime.setTime(time).then(() => { 119e41f4b71Sopenharmony_ci console.info(`Succeeded in setting time.`); 120e41f4b71Sopenharmony_ci }).catch((error: BusinessError) => { 121e41f4b71Sopenharmony_ci console.info(`Failed to set time. message: ${error.message}, code: ${error.code}`); 122e41f4b71Sopenharmony_ci }); 123e41f4b71Sopenharmony_ci} catch(e) { 124e41f4b71Sopenharmony_ci let error = e as BusinessError; 125e41f4b71Sopenharmony_ci console.info(`Failed to set time. message: ${error.message}, code: ${error.code}`); 126e41f4b71Sopenharmony_ci} 127e41f4b71Sopenharmony_ci``` 128e41f4b71Sopenharmony_ci 129e41f4b71Sopenharmony_ci## systemDateTime.setDate<sup>(deprecated)</sup> 130e41f4b71Sopenharmony_ci 131e41f4b71Sopenharmony_cisetDate(date: Date, callback: AsyncCallback<void>): void 132e41f4b71Sopenharmony_ci 133e41f4b71Sopenharmony_ci设置系统日期,使用callback异步回调。 134e41f4b71Sopenharmony_ci 135e41f4b71Sopenharmony_ci> **说明:** 136e41f4b71Sopenharmony_ci> 137e41f4b71Sopenharmony_ci> 从API version 9开始支持,从API 10开始废弃。建议使用[systemDateTime.setTime](#systemdatetimesettime)替代。 138e41f4b71Sopenharmony_ci 139e41f4b71Sopenharmony_ci**系统接口:** 此接口为系统接口 140e41f4b71Sopenharmony_ci 141e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.MiscServices.Time 142e41f4b71Sopenharmony_ci 143e41f4b71Sopenharmony_ci**需要权限:** ohos.permission.SET_TIME 144e41f4b71Sopenharmony_ci 145e41f4b71Sopenharmony_ci**参数:** 146e41f4b71Sopenharmony_ci 147e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 148e41f4b71Sopenharmony_ci| -------- | ------------- | ---- |-------------| 149e41f4b71Sopenharmony_ci| date | Date | 是 | 目标日期,且必须>0。 | 150e41f4b71Sopenharmony_ci| callback | AsyncCallback<void> | 是 | 回调函数。 | 151e41f4b71Sopenharmony_ci 152e41f4b71Sopenharmony_ci**错误码:** 153e41f4b71Sopenharmony_ci 154e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[时间时区错误码](./errorcode-time.md)。 155e41f4b71Sopenharmony_ci 156e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 157e41f4b71Sopenharmony_ci| -------- |----------------------------------------------------------------------------------------------------------------------------------------------| 158e41f4b71Sopenharmony_ci| 201 | Permission denied. | 159e41f4b71Sopenharmony_ci| 202 | Permission verification failed. A non-system application calls a system API. | 160e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1.Mandatory parameters are left unspecified; 2.Incorrect parameter types; 3.Parameter verification failed. | 161e41f4b71Sopenharmony_ci 162e41f4b71Sopenharmony_ci**示例:** 163e41f4b71Sopenharmony_ci 164e41f4b71Sopenharmony_ci```ts 165e41f4b71Sopenharmony_ciimport { BusinessError } from '@kit.BasicServicesKit'; 166e41f4b71Sopenharmony_ci 167e41f4b71Sopenharmony_cilet date = new Date(); 168e41f4b71Sopenharmony_citry { 169e41f4b71Sopenharmony_ci systemDateTime.setDate(date, (error: BusinessError) => { 170e41f4b71Sopenharmony_ci if (error) { 171e41f4b71Sopenharmony_ci console.info(`Failed to set date. message: ${error.message}, code: ${error.code}`); 172e41f4b71Sopenharmony_ci return; 173e41f4b71Sopenharmony_ci } 174e41f4b71Sopenharmony_ci console.info(`Succeeded in setting date.`); 175e41f4b71Sopenharmony_ci }); 176e41f4b71Sopenharmony_ci} catch(e) { 177e41f4b71Sopenharmony_ci let error = e as BusinessError; 178e41f4b71Sopenharmony_ci console.info(`Failed to set date. message: ${error.message}, code: ${error.code}`); 179e41f4b71Sopenharmony_ci} 180e41f4b71Sopenharmony_ci``` 181e41f4b71Sopenharmony_ci 182e41f4b71Sopenharmony_ci## systemDateTime.setDate<sup>(deprecated)</sup> 183e41f4b71Sopenharmony_ci 184e41f4b71Sopenharmony_cisetDate(date: Date): Promise<void> 185e41f4b71Sopenharmony_ci 186e41f4b71Sopenharmony_ci设置系统日期,使用Promise异步回调。 187e41f4b71Sopenharmony_ci 188e41f4b71Sopenharmony_ci> **说明:** 189e41f4b71Sopenharmony_ci> 190e41f4b71Sopenharmony_ci> 从API version 9开始支持,从API 10开始废弃。建议使用[systemDateTime.setTime](#systemdatetimesettime)替代。 191e41f4b71Sopenharmony_ci 192e41f4b71Sopenharmony_ci**系统接口:** 此接口为系统接口 193e41f4b71Sopenharmony_ci 194e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.MiscServices.Time 195e41f4b71Sopenharmony_ci 196e41f4b71Sopenharmony_ci**需要权限:** ohos.permission.SET_TIME 197e41f4b71Sopenharmony_ci 198e41f4b71Sopenharmony_ci**参数:** 199e41f4b71Sopenharmony_ci 200e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 201e41f4b71Sopenharmony_ci| ------ | ---- | ---- | ---------- | 202e41f4b71Sopenharmony_ci| date | Date | 是 | 目标日期,且必须。 | 203e41f4b71Sopenharmony_ci 204e41f4b71Sopenharmony_ci**返回值:** 205e41f4b71Sopenharmony_ci 206e41f4b71Sopenharmony_ci| 类型 | 说明 | 207e41f4b71Sopenharmony_ci| ------------------- | -------------------- | 208e41f4b71Sopenharmony_ci| Promise<void> | 无返回结果的Promise对象。 | 209e41f4b71Sopenharmony_ci 210e41f4b71Sopenharmony_ci**错误码:** 211e41f4b71Sopenharmony_ci 212e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[时间时区错误码](./errorcode-time.md)。 213e41f4b71Sopenharmony_ci 214e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 215e41f4b71Sopenharmony_ci| -------- |----------------------------------------------------------------------------------------------------------------------------------------------| 216e41f4b71Sopenharmony_ci| 201 | Permission denied. | 217e41f4b71Sopenharmony_ci| 202 | Permission verification failed. A non-system application calls a system API. | 218e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1.Mandatory parameters are left unspecified; 2.Incorrect parameter types; 3.Parameter verification failed. | 219e41f4b71Sopenharmony_ci 220e41f4b71Sopenharmony_ci**示例:** 221e41f4b71Sopenharmony_ci 222e41f4b71Sopenharmony_ci```ts 223e41f4b71Sopenharmony_ciimport { BusinessError } from '@kit.BasicServicesKit'; 224e41f4b71Sopenharmony_ci 225e41f4b71Sopenharmony_cilet date = new Date(); 226e41f4b71Sopenharmony_citry { 227e41f4b71Sopenharmony_ci systemDateTime.setDate(date).then(() => { 228e41f4b71Sopenharmony_ci console.info(`Succeeded in setting date.`); 229e41f4b71Sopenharmony_ci }).catch((error: BusinessError) => { 230e41f4b71Sopenharmony_ci console.info(`Failed to set date. message: ${error.message}, code: ${error.code}`); 231e41f4b71Sopenharmony_ci }); 232e41f4b71Sopenharmony_ci} catch(e) { 233e41f4b71Sopenharmony_ci let error = e as BusinessError; 234e41f4b71Sopenharmony_ci console.info(`Failed to set date. message: ${error.message}, code: ${error.code}`); 235e41f4b71Sopenharmony_ci} 236e41f4b71Sopenharmony_ci``` 237e41f4b71Sopenharmony_ci 238e41f4b71Sopenharmony_ci## systemDateTime.setTimezone 239e41f4b71Sopenharmony_ci 240e41f4b71Sopenharmony_cisetTimezone(timezone: string, callback: AsyncCallback<void>): void 241e41f4b71Sopenharmony_ci 242e41f4b71Sopenharmony_ci设置系统时区,使用callback异步回调。 243e41f4b71Sopenharmony_ci 244e41f4b71Sopenharmony_ci**系统接口:** 此接口为系统接口 245e41f4b71Sopenharmony_ci 246e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.MiscServices.Time 247e41f4b71Sopenharmony_ci 248e41f4b71Sopenharmony_ci**需要权限:** ohos.permission.SET_TIME_ZONE 249e41f4b71Sopenharmony_ci 250e41f4b71Sopenharmony_ci**参数:** 251e41f4b71Sopenharmony_ci 252e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 253e41f4b71Sopenharmony_ci| -------- | ------------- | ---- | -------------------------- | 254e41f4b71Sopenharmony_ci| timezone | string | 是 | 系统时区。 具体可见[支持的系统时区](#支持的系统时区) 。 | 255e41f4b71Sopenharmony_ci| callback | AsyncCallback<void> | 是 | 回调函数。 | 256e41f4b71Sopenharmony_ci 257e41f4b71Sopenharmony_ci**错误码:** 258e41f4b71Sopenharmony_ci 259e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[时间时区错误码](./errorcode-time.md)。 260e41f4b71Sopenharmony_ci 261e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 262e41f4b71Sopenharmony_ci| -------- |-------------------------------------------------------------------------------------------------------------| 263e41f4b71Sopenharmony_ci| 201 | Permission denied. | 264e41f4b71Sopenharmony_ci| 202 | Permission verification failed. A non-system application calls a system API. | 265e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1.Mandatory parameters are left unspecified; 2.Incorrect parameter types. | 266e41f4b71Sopenharmony_ci 267e41f4b71Sopenharmony_ci**示例:** 268e41f4b71Sopenharmony_ci 269e41f4b71Sopenharmony_ci```ts 270e41f4b71Sopenharmony_ciimport { BusinessError } from '@kit.BasicServicesKit'; 271e41f4b71Sopenharmony_ci 272e41f4b71Sopenharmony_citry { 273e41f4b71Sopenharmony_ci systemDateTime.setTimezone('Asia/Shanghai', (error: BusinessError) => { 274e41f4b71Sopenharmony_ci if (error) { 275e41f4b71Sopenharmony_ci console.info(`Failed to set timezone. message: ${error.message}, code: ${error.code}`); 276e41f4b71Sopenharmony_ci return; 277e41f4b71Sopenharmony_ci } 278e41f4b71Sopenharmony_ci console.info(`Succeeded in setting timezone.`); 279e41f4b71Sopenharmony_ci }); 280e41f4b71Sopenharmony_ci} catch(e) { 281e41f4b71Sopenharmony_ci let error = e as BusinessError; 282e41f4b71Sopenharmony_ci console.info(`Failed to set timezone. message: ${error.message}, code: ${error.code}`); 283e41f4b71Sopenharmony_ci} 284e41f4b71Sopenharmony_ci``` 285e41f4b71Sopenharmony_ci 286e41f4b71Sopenharmony_ci## systemDateTime.setTimezone 287e41f4b71Sopenharmony_ci 288e41f4b71Sopenharmony_cisetTimezone(timezone: string): Promise<void> 289e41f4b71Sopenharmony_ci 290e41f4b71Sopenharmony_ci设置系统时区,使用Promise异步回调。 291e41f4b71Sopenharmony_ci 292e41f4b71Sopenharmony_ci**系统接口:** 此接口为系统接口 293e41f4b71Sopenharmony_ci 294e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.MiscServices.Time 295e41f4b71Sopenharmony_ci 296e41f4b71Sopenharmony_ci**需要权限:** ohos.permission.SET_TIME_ZONE 297e41f4b71Sopenharmony_ci 298e41f4b71Sopenharmony_ci**参数:** 299e41f4b71Sopenharmony_ci 300e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 301e41f4b71Sopenharmony_ci| -------- | ------ | ---- | ---------- | 302e41f4b71Sopenharmony_ci| timezone | string | 是 | 系统时区。具体可见[支持的系统时区](#支持的系统时区) 。 | 303e41f4b71Sopenharmony_ci 304e41f4b71Sopenharmony_ci**返回值:** 305e41f4b71Sopenharmony_ci 306e41f4b71Sopenharmony_ci| 类型 | 说明 | 307e41f4b71Sopenharmony_ci| ------------------- | -------------------- | 308e41f4b71Sopenharmony_ci| Promise<void> | 无返回结果的Promise对象。 | 309e41f4b71Sopenharmony_ci 310e41f4b71Sopenharmony_ci**错误码:** 311e41f4b71Sopenharmony_ci 312e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[时间时区错误码](./errorcode-time.md)。 313e41f4b71Sopenharmony_ci 314e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 315e41f4b71Sopenharmony_ci| -------- |-------------------------------------------------------------------------------------------------------------| 316e41f4b71Sopenharmony_ci| 201 | Permission denied. | 317e41f4b71Sopenharmony_ci| 202 | Permission verification failed. A non-system application calls a system API. | 318e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1.Mandatory parameters are left unspecified; 2.Incorrect parameter types. | 319e41f4b71Sopenharmony_ci 320e41f4b71Sopenharmony_ci**示例:** 321e41f4b71Sopenharmony_ci 322e41f4b71Sopenharmony_ci```ts 323e41f4b71Sopenharmony_ciimport { BusinessError } from '@kit.BasicServicesKit'; 324e41f4b71Sopenharmony_ci 325e41f4b71Sopenharmony_citry { 326e41f4b71Sopenharmony_ci systemDateTime.setTimezone('Asia/Shanghai').then(() => { 327e41f4b71Sopenharmony_ci console.info(`Succeeded in setting timezone.`); 328e41f4b71Sopenharmony_ci }).catch((error: BusinessError) => { 329e41f4b71Sopenharmony_ci console.info(`Failed to set timezone. message: ${error.message}, code: ${error.code}`); 330e41f4b71Sopenharmony_ci }); 331e41f4b71Sopenharmony_ci} catch(e) { 332e41f4b71Sopenharmony_ci let error = e as BusinessError; 333e41f4b71Sopenharmony_ci console.info(`Failed to set timezone. message: ${error.message}, code: ${error.code}`); 334e41f4b71Sopenharmony_ci} 335e41f4b71Sopenharmony_ci``` 336e41f4b71Sopenharmony_ci 337e41f4b71Sopenharmony_ci## systemDateTime.updateNtpTime<sup>13+</sup> 338e41f4b71Sopenharmony_ci 339e41f4b71Sopenharmony_ciupdateNtpTime(): Promise<void> 340e41f4b71Sopenharmony_ci 341e41f4b71Sopenharmony_ci使用异步方式从NTP服务器更新NTP时间。该方法一小时内只会从NTP服务器更新一次NTP时间。 342e41f4b71Sopenharmony_ci 343e41f4b71Sopenharmony_ci**系统接口:** 此接口为系统接口 344e41f4b71Sopenharmony_ci 345e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.MiscServices.Time 346e41f4b71Sopenharmony_ci 347e41f4b71Sopenharmony_ci**返回值:** 348e41f4b71Sopenharmony_ci 349e41f4b71Sopenharmony_ci| 类型 | 说明 | 350e41f4b71Sopenharmony_ci| ------------------- | -------------------- | 351e41f4b71Sopenharmony_ci| Promise<void> | 无返回结果的Promise对象。 | 352e41f4b71Sopenharmony_ci 353e41f4b71Sopenharmony_ci**错误码:** 354e41f4b71Sopenharmony_ci 355e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[时间时区错误码](./errorcode-time.md)。 356e41f4b71Sopenharmony_ci 357e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 358e41f4b71Sopenharmony_ci|-------|-------------------------------------------------------------------------------------------------------------| 359e41f4b71Sopenharmony_ci| 13000001 | Network connection error or OS error. | 360e41f4b71Sopenharmony_ci| 202 | Permission verification failed. A non-system application calls a system API. | 361e41f4b71Sopenharmony_ci 362e41f4b71Sopenharmony_ci**示例:** 363e41f4b71Sopenharmony_ci 364e41f4b71Sopenharmony_ci```ts 365e41f4b71Sopenharmony_ciimport { BusinessError } from '@kit.BasicServicesKit'; 366e41f4b71Sopenharmony_ci 367e41f4b71Sopenharmony_citry { 368e41f4b71Sopenharmony_ci systemDateTime.updateNtpTime().then(() => { 369e41f4b71Sopenharmony_ci console.info(`Succeeded in update ntp time.`); 370e41f4b71Sopenharmony_ci }).catch((error: BusinessError) => { 371e41f4b71Sopenharmony_ci console.error(`Failed to update ntp time. message: ${error.message}, code: ${error.code}`); 372e41f4b71Sopenharmony_ci }); 373e41f4b71Sopenharmony_ci} catch(e) { 374e41f4b71Sopenharmony_ci let error = e as BusinessError; 375e41f4b71Sopenharmony_ci console.error(`Failed to update ntp time. message: ${error.message}, code: ${error.code}`); 376e41f4b71Sopenharmony_ci} 377e41f4b71Sopenharmony_ci``` 378e41f4b71Sopenharmony_ci 379e41f4b71Sopenharmony_ci## systemDateTime.getNtpTime<sup>13+</sup> 380e41f4b71Sopenharmony_ci 381e41f4b71Sopenharmony_cigetNtpTime(): number 382e41f4b71Sopenharmony_ci 383e41f4b71Sopenharmony_ci使用同步方式获取基于上次更新的NTP时间所计算出的真实时间。 384e41f4b71Sopenharmony_ci 385e41f4b71Sopenharmony_ci**系统接口:** 此接口为系统接口 386e41f4b71Sopenharmony_ci 387e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.MiscServices.Time 388e41f4b71Sopenharmony_ci 389e41f4b71Sopenharmony_ci**返回值**: 390e41f4b71Sopenharmony_ci 391e41f4b71Sopenharmony_ci| 类型 | 说明 | 392e41f4b71Sopenharmony_ci| ------ |--------------------------------| 393e41f4b71Sopenharmony_ci| number | 基于上次更新的NTP时间所计算出的Unix纪元时间(ms)。 | 394e41f4b71Sopenharmony_ci 395e41f4b71Sopenharmony_ci**错误码:** 396e41f4b71Sopenharmony_ci 397e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[时间时区错误码](./errorcode-time.md)。 398e41f4b71Sopenharmony_ci 399e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 400e41f4b71Sopenharmony_ci|-------|-------------------------------------------------------------------------------------------------------------| 401e41f4b71Sopenharmony_ci| 13000002 | updateNtpTime() is not called successfully. | 402e41f4b71Sopenharmony_ci| 202 | Permission verification failed. A non-system application calls a system API. | 403e41f4b71Sopenharmony_ci 404e41f4b71Sopenharmony_ci**示例:** 405e41f4b71Sopenharmony_ci 406e41f4b71Sopenharmony_ci```ts 407e41f4b71Sopenharmony_ciimport { BusinessError } from '@kit.BasicServicesKit'; 408e41f4b71Sopenharmony_ci 409e41f4b71Sopenharmony_citry { 410e41f4b71Sopenharmony_ci let time = systemDateTime.getNtpTime(); 411e41f4b71Sopenharmony_ci} catch(e) { 412e41f4b71Sopenharmony_ci let error = e as BusinessError; 413e41f4b71Sopenharmony_ci console.error(`Failed to get ntp time. message: ${error.message}, code: ${error.code}`); 414e41f4b71Sopenharmony_ci} 415e41f4b71Sopenharmony_ci``` 416e41f4b71Sopenharmony_ci 417e41f4b71Sopenharmony_ci## 支持的系统时区 418e41f4b71Sopenharmony_ci 419e41f4b71Sopenharmony_ci支持的系统时区参考接口[I18n.SystemLocaleManager.getTimeZoneCityItemArray()](../apis-localization-kit/js-apis-i18n-sys.md#gettimezonecityitemarray10)。 420