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