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```