1# @ohos.enterprise.dateTimeManager (系统时间管理)(系统接口) 2<!--Kit: MDM Kit--> 3<!--Subsystem: Customization--> 4<!--Owner: @huanleima--> 5<!--Designer: @liuzuming--> 6<!--Tester: @lpw_work--> 7<!--Adviser: @Brilliantry_Rui--> 8 9本模块提供系统时间管理能力。 10 11> **说明**: 12> 13> 本模块首批接口从API version 9 开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 14> 15> 本模块接口仅可在Stage模型下使用。 16> 17> 本模块接口仅对[设备管理应用](../../mdm/mdm-kit-term.md#mdm应用设备管理应用)开放,需将[设备管理应用激活](js-apis-enterprise-adminManager-sys.md#adminmanagerenableadmin-2)后调用。 18> 19> 本模块接口均为系统接口。 20 21## 导入模块 22 23```ts 24import { dateTimeManager } from '@kit.MDMKit'; 25``` 26 27## dateTimeManager.setDateTime 28 29setDateTime(admin: Want, time: number, callback: AsyncCallback\<void>): void 30 31设置系统时间。使用callback异步回调。 32 33**需要权限:** ohos.permission.ENTERPRISE_SET_DATETIME 34 35**系统能力:** SystemCapability.Customization.EnterpriseDeviceManager 36 37**系统接口:** 此接口为系统接口。 38 39**参数:** 40 41| 参数名 | 类型 | 必填 | 说明 | 42| ----- | ----------------------------------- | ---- | ------- | 43| admin | [Want](../apis-ability-kit/js-apis-app-ability-want.md) | 是 | 企业设备管理扩展组件。 | 44| time | number | 是 | 时间戳(ms)。 | 45| callback | AsyncCallback\<void> | 是 | 回调函数。当接口调用成功,err为null,否则为错误对象。 | 46 47**错误码**: 48 49以下错误码的详细介绍请参见[企业设备管理错误码](errorcode-enterpriseDeviceManager.md)和[通用错误码](../errorcode-universal.md)。 50 51| 错误码ID | 错误信息 | 52| ------- | ---------------------------------------------------------------------------- | 53| 9200001 | The application is not an administrator application of the device. | 54| 9200002 | The administrator application does not have permission to manage the device. | 55| 201 | Permission verification failed. The application does not have the permission required to call the API. | 56| 202 | Permission verification failed. A non-system application calls a system API. | 57| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 58 59**示例:** 60 61```ts 62import { dateTimeManager } from '@kit.MDMKit'; 63import { Want } from '@kit.AbilityKit'; 64 65let wantTemp: Want = { 66 // 需根据实际情况进行替换 67 bundleName: 'com.example.myapplication', 68 abilityName: 'EntryAbility' 69}; 70 71// 需根据实际情况进行替换 72dateTimeManager.setDateTime(wantTemp, 1526003846000, (err) => { 73 if (err) { 74 console.error(`Failed to set date time. Code is ${err.code}, message is ${err.message}`); 75 return; 76 } 77 console.info('Succeeded in setting date time'); 78}) 79``` 80 81## dateTimeManager.setDateTime 82 83setDateTime(admin: Want, time: number): Promise\<void> 84 85设置系统时间。使用Promise异步回调。 86 87**需要权限:** ohos.permission.ENTERPRISE_SET_DATETIME 88 89**系统能力:** SystemCapability.Customization.EnterpriseDeviceManager 90 91**模型约束:** 此接口仅可在Stage模型下使用。 92 93**系统接口:** 此接口为系统接口。 94 95**参数:** 96 97| 参数名 | 类型 | 必填 | 说明 | 98| ----- | ----------------------------------- | ---- | ------- | 99| admin | [Want](../apis-ability-kit/js-apis-app-ability-want.md) | 是 | 企业设备管理扩展组件。 | 100| time | number | 是 | 时间戳(ms)。 | 101 102**返回值:** 103 104| 类型 | 说明 | 105| ----- | ----------------------------------- | 106| Promise\<void> | Promise对象。无返回结果的Promise对象。 | 107 108**错误码**: 109 110以下错误码的详细介绍请参见[企业设备管理错误码](errorcode-enterpriseDeviceManager.md)和[通用错误码](../errorcode-universal.md)。 111 112| 错误码ID | 错误信息 | 113| ------- | ---------------------------------------------------------------------------- | 114| 9200001 | The application is not an administrator application of the device. | 115| 9200002 | The administrator application does not have permission to manage the device. | 116| 201 | Permission verification failed. The application does not have the permission required to call the API. | 117| 202 | Permission verification failed. A non-system application calls a system API. | 118| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 119 120**示例:** 121 122```ts 123import { dateTimeManager } from '@kit.MDMKit'; 124import { Want } from '@kit.AbilityKit'; 125import { BusinessError } from '@kit.BasicServicesKit'; 126 127let wantTemp: Want = { 128 // 需根据实际情况进行替换 129 bundleName: 'com.example.myapplication', 130 abilityName: 'EntryAbility' 131}; 132 133// 需根据实际情况进行替换 134dateTimeManager.setDateTime(wantTemp, 1526003846000).then(() => { 135 console.info('Succeeded in setting date time'); 136}).catch((err: BusinessError) => { 137 console.error(`Failed to set date time. Code is ${err.code}, message is ${err.message}`); 138}) 139``` 140 141## dateTimeManager.disallowModifyDateTime<sup>10+</sup> 142 143disallowModifyDateTime(admin: Want, disallow: boolean, callback: AsyncCallback\<void>): void 144 145禁止设备修改系统时间。使用callback异步回调。 146 147**需要权限:** ohos.permission.ENTERPRISE_SET_DATETIME 148 149**系统能力:** SystemCapability.Customization.EnterpriseDeviceManager 150 151**模型约束:** 此接口仅可在Stage模型下使用。 152 153**系统接口:** 此接口为系统接口。 154 155**参数:** 156 157| 参数名 | 类型 | 必填 | 说明 | 158| ----- | ----------------------------------- | ---- | ------- | 159| admin | [Want](../apis-ability-kit/js-apis-app-ability-want.md) | 是 | 企业设备管理扩展组件。 | 160| disallow | boolean | 是 | true 表示禁止修改系统时间,false表示允许修改系统时间。 | 161| callback | AsyncCallback\<void> | 是 | 回调函数。当接口调用成功,err为null,否则为错误对象。 | 162 163**错误码**: 164 165以下错误码的详细介绍请参见[企业设备管理错误码](errorcode-enterpriseDeviceManager.md)和[通用错误码](../errorcode-universal.md)。 166 167| 错误码ID | 错误信息 | 168| ------- | ---------------------------------------------------------------------------- | 169| 9200001 | The application is not an administrator application of the device. | 170| 9200002 | The administrator application does not have permission to manage the device. | 171| 201 | Permission verification failed. The application does not have the permission required to call the API. | 172| 202 | Permission verification failed. A non-system application calls a system API. | 173| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 174 175**示例:** 176 177```ts 178import { dateTimeManager } from '@kit.MDMKit'; 179import { Want } from '@kit.AbilityKit'; 180 181let wantTemp: Want = { 182 // 需根据实际情况进行替换 183 bundleName: 'com.example.myapplication', 184 abilityName: 'EntryAbility' 185}; 186 187dateTimeManager.disallowModifyDateTime(wantTemp, true, (err) => { 188 if (err) { 189 console.error(`Failed to disallow modify date time. Code is ${err.code}, message is ${err.message}`); 190 return; 191 } 192 console.info('Succeeded in disallowing modify date time'); 193}) 194``` 195 196## dateTimeManager.disallowModifyDateTime<sup>10+</sup> 197 198disallowModifyDateTime(admin: Want, disallow: boolean): Promise\<void> 199 200禁止设备修改系统时间。使用Promise异步回调。 201 202**需要权限:** ohos.permission.ENTERPRISE_SET_DATETIME 203 204**系统能力:** SystemCapability.Customization.EnterpriseDeviceManager 205 206**模型约束:** 此接口仅可在Stage模型下使用。 207 208**系统接口:** 此接口为系统接口。 209 210**参数:** 211 212| 参数名 | 类型 | 必填 | 说明 | 213| ----- | ----------------------------------- | ---- | ------- | 214| admin | [Want](../apis-ability-kit/js-apis-app-ability-want.md) | 是 | 企业设备管理扩展组件。 | 215| disallow | boolean | 是 | true 表示禁止修改系统时间,false表示允许修改系统时间。 | 216 217**返回值:** 218 219| 类型 | 说明 | 220| ----- | ----------------------------------- | 221| Promise\<void> | 无返回结果的Promise对象。当禁止设备修改系统时间失败时,抛出错误对象。 | 222 223**错误码**: 224 225以下错误码的详细介绍请参见[企业设备管理错误码](errorcode-enterpriseDeviceManager.md)和[通用错误码](../errorcode-universal.md)。 226 227| 错误码ID | 错误信息 | 228| ------- | ---------------------------------------------------------------------------- | 229| 9200001 | The application is not an administrator application of the device. | 230| 9200002 | The administrator application does not have permission to manage the device. | 231| 201 | Permission verification failed. The application does not have the permission required to call the API. | 232| 202 | Permission verification failed. A non-system application calls a system API. | 233| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 234 235**示例:** 236 237```ts 238import { dateTimeManager } from '@kit.MDMKit'; 239import { Want } from '@kit.AbilityKit'; 240import { BusinessError } from '@kit.BasicServicesKit'; 241 242let wantTemp: Want = { 243 // 需根据实际情况进行替换 244 bundleName: 'com.example.myapplication', 245 abilityName: 'EntryAbility' 246}; 247 248dateTimeManager.disallowModifyDateTime(wantTemp, true).then(() => { 249 console.info('Succeeded in disallowing modify date time'); 250}).catch((err: BusinessError) => { 251 console.error(`Failed to disallow modify date time. Code is ${err.code}, message is ${err.message}`); 252}) 253``` 254 255## dateTimeManager.isModifyDateTimeDisallowed<sup>10+</sup> 256 257isModifyDateTimeDisallowed(admin: Want, callback: AsyncCallback\<boolean>): void 258 259查询设备是否允许修改系统时间。使用callback异步回调。 260 261**需要权限:** ohos.permission.ENTERPRISE_SET_DATETIME 262 263**系统能力:** SystemCapability.Customization.EnterpriseDeviceManager 264 265**模型约束:** 此接口仅可在Stage模型下使用。 266 267**系统接口:** 此接口为系统接口。 268 269**参数:** 270 271| 参数名 | 类型 | 必填 | 说明 | 272| ----- | ----------------------------------- | ---- | ------- | 273| admin | [Want](../apis-ability-kit/js-apis-app-ability-want.md) | 是 | 企业设备管理扩展组件。 | 274| callback | AsyncCallback\<boolean> | 是 | 回调函数,callback方式返回是否禁止修改系统时间策略,true表示禁止修改系统时间,否则表示允许修改系统时间。 | 275 276**错误码**: 277 278以下错误码的详细介绍请参见[企业设备管理错误码](errorcode-enterpriseDeviceManager.md)和[通用错误码](../errorcode-universal.md)。 279 280| 错误码ID | 错误信息 | 281| ------- | ---------------------------------------------------------------------------- | 282| 9200001 | The application is not an administrator application of the device. | 283| 9200002 | The administrator application does not have permission to manage the device. | 284| 201 | Permission verification failed. The application does not have the permission required to call the API. | 285| 202 | Permission verification failed. A non-system application calls a system API. | 286| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 287 288**示例:** 289 290```ts 291import { dateTimeManager } from '@kit.MDMKit'; 292import { Want } from '@kit.AbilityKit'; 293 294let wantTemp: Want = { 295 // 需根据实际情况进行替换 296 bundleName: 'com.example.myapplication', 297 abilityName: 'EntryAbility' 298}; 299 300dateTimeManager.isModifyDateTimeDisallowed(wantTemp, (err, result) => { 301 if (err) { 302 console.error(`Failed to query modify date time is disallowed or not. Code is ${err.code}, message is ${err.message}`); 303 return; 304 } 305 console.info(`Succeeded in querying modify date time is disallowed : ${result}`); 306}) 307``` 308 309## dateTimeManager.isModifyDateTimeDisallowed<sup>10+</sup> 310 311isModifyDateTimeDisallowed(admin: Want): Promise\<boolean> 312 313查询设备是否允许修改系统时间。使用Promise异步回调。 314 315**需要权限:** ohos.permission.ENTERPRISE_SET_DATETIME 316 317**系统能力:** SystemCapability.Customization.EnterpriseDeviceManager 318 319**模型约束:** 此接口仅可在Stage模型下使用。 320 321**系统接口:** 此接口为系统接口。 322 323**参数:** 324 325| 参数名 | 类型 | 必填 | 说明 | 326| ------ | ------------------------------------------------------- | ---- | ---------------------- | 327| admin | [Want](../apis-ability-kit/js-apis-app-ability-want.md) | 是 | 企业设备管理扩展组件。 | 328 329**返回值:** 330 331| 类型 | 说明 | 332| ----- | ----------------------------------- | 333| Promise\<boolean> | Promise对象。promise方式返回是否禁止修改系统时间策略,true表示禁止修改系统时间,否则表示允许修改系统时间。 | 334 335**错误码**: 336 337以下错误码的详细介绍请参见[企业设备管理错误码](errorcode-enterpriseDeviceManager.md)和[通用错误码](../errorcode-universal.md)。 338 339| 错误码ID | 错误信息 | 340| ------- | ---------------------------------------------------------------------------- | 341| 9200001 | The application is not an administrator application of the device. | 342| 9200002 | The administrator application does not have permission to manage the device. | 343| 201 | Permission verification failed. The application does not have the permission required to call the API. | 344| 202 | Permission verification failed. A non-system application calls a system API. | 345| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 346 347**示例:** 348 349```ts 350import { dateTimeManager } from '@kit.MDMKit'; 351import { Want } from '@kit.AbilityKit'; 352import { BusinessError } from '@kit.BasicServicesKit'; 353 354let wantTemp: Want = { 355 // 需根据实际情况进行替换 356 bundleName: 'com.example.myapplication', 357 abilityName: 'EntryAbility' 358}; 359 360dateTimeManager.isModifyDateTimeDisallowed(wantTemp).then((result) => { 361 console.info(`Succeeded in querying modify date time is disallowed : ${result}`); 362}).catch((err: BusinessError) => { 363 console.error(`Failed to query modify date time is disallowed or not. Code is ${err.code}, message is ${err.message}`); 364}) 365```