/* * Copyright (C) 2022 Huawei Device Co., Ltd. * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ import { AsyncCallback } from './@ohos.base'; /** * System time and timezone. * * @namespace systemDateTime * @syscap SystemCapability.MiscServices.Time * @since 9 */ declare namespace systemDateTime { /** * Sets the system time. * * @permission ohos.permission.SET_TIME * @param { number } time - Indicates the target timestamp(in milliseconds) * @param { AsyncCallback } callback - The callback of setTime * @throws { BusinessError } 201 - Permission denied * @throws { BusinessError } 202 - Permission denied, Non system application use system APIs * @throws { BusinessError } 401 - Invalid parameters * @syscap SystemCapability.MiscServices.Time * @systemapi Hide this for inner system use * @since 9 */ function setTime(time: number, callback: AsyncCallback): void; /** * Sets the system time. * * @permission ohos.permission.SET_TIME * @param { number } time - Indicates the target timestamp(in milliseconds) * @returns { Promise } The promise returned by the function * @throws { BusinessError } 201 - Permission denied * @throws { BusinessError } 202 - Permission denied, Non system application use system APIs * @throws { BusinessError } 401 - Invalid parameters * @syscap SystemCapability.MiscServices.Time * @systemapi Hide this for inner system use * @since 9 */ function setTime(time: number): Promise; /** * Obtains the number of milliseconds that have elapsed since the Unix epoch. * * @param { boolean } isNano - True if the result is in nanoseconds, otherwise in milliseconds * @param { AsyncCallback } callback - The callback of getCurrentTime * @throws { BusinessError } 401 - Invalid parameters * @syscap SystemCapability.MiscServices.Time * @since 9 */ function getCurrentTime(isNano: boolean, callback: AsyncCallback): void; /** * Obtains the number of milliseconds that have elapsed since the Unix epoch. * * @param { AsyncCallback } callback - The callback of getCurrentTime * @throws { BusinessError } 401 - Invalid parameters * @syscap SystemCapability.MiscServices.Time * @since 9 */ function getCurrentTime(callback: AsyncCallback): void; /** * Obtains the number of milliseconds that have elapsed since the Unix epoch. * * @param { boolean } isNano - True if the result is in nanoseconds, otherwise in milliseconds * @returns { Promise } The promise returned by the function * @throws { BusinessError } 401 - Invalid parameters * @syscap SystemCapability.MiscServices.Time * @since 9 */ function getCurrentTime(isNano?: boolean): Promise; /** * Obtains the number of timestamp that have elapsed since the Unix epoch. * * @param { boolean } [ isNanoseconds ] - True if the result is in nanoseconds, otherwise in milliseconds * @returns { number } The timestamp returned of getTime. * @syscap SystemCapability.MiscServices.Time * @since 10 */ function getTime(isNanoseconds?: boolean): number; /** * Obtains the number of milliseconds elapsed since the system was booted, not including deep sleep time. * * @param { boolean } isNano - True if the result is in nanoseconds., otherwise in milliseconds * @param { AsyncCallback } callback - The callback of getRealActiveTime * @throws { BusinessError } 401 - Invalid parameters * @syscap SystemCapability.MiscServices.Time * @since 9 */ function getRealActiveTime(isNano: boolean, callback: AsyncCallback): void; /** * Obtains the number of milliseconds elapsed since the system was booted, not including deep sleep time. * * @param { AsyncCallback } callback - The callback of getRealActiveTime * @throws { BusinessError } 401 - Invalid parameters * @syscap SystemCapability.MiscServices.Time * @since 9 */ function getRealActiveTime(callback: AsyncCallback): void; /** * Obtains the number of milliseconds elapsed since the system was booted, not including deep sleep time. * * @param { boolean } [isNano] - True if the result is in nanoseconds, otherwise in milliseconds * @returns { Promise } The promise returned by the function * @throws { BusinessError } 401 - Invalid parameters * @syscap SystemCapability.MiscServices.Time * @since 9 */ function getRealActiveTime(isNano?: boolean): Promise; /** * Obtains the number of milliseconds elapsed since the system was booted, including deep sleep time. * * @param { boolean } isNano - True if the result is in nanoseconds, otherwise in milliseconds * @param { AsyncCallback } callback - The callback of getRealTime * @throws { BusinessError } 401 - Invalid parameters * @syscap SystemCapability.MiscServices.Time * @since 9 */ function getRealTime(isNano: boolean, callback: AsyncCallback): void; /** * Obtains the number of milliseconds elapsed since the system was booted, including deep sleep time. * * @param { AsyncCallback } callback - The callback of getRealTime * @throws { BusinessError } 401 - Invalid parameters * @syscap SystemCapability.MiscServices.Time * @since 9 */ function getRealTime(callback: AsyncCallback): void; /** * Obtains the number of milliseconds elapsed since the system was booted, including deep sleep time. * * @param { boolean } [isNano] - True if the result is in nanoseconds, otherwise in milliseconds * @returns { Promise } The promise returned by the function * @throws { BusinessError } 401 - Invalid parameters * @syscap SystemCapability.MiscServices.Time * @since 9 */ function getRealTime(isNano?: boolean): Promise; /** * Indicates time type. * * @enum { number } TimeType * @syscap SystemCapability.MiscServices.Time * @since 10 */ enum TimeType { /** * Indicates the time elapsed since the system was booted, including deep sleep time. * * @syscap SystemCapability.MiscServices.Time * @since 10 */ STARTUP, /** * Indicates the time elapsed since the system was booted, not including deep sleep time. * * @syscap SystemCapability.MiscServices.Time * @since 10 */ ACTIVE } /** * Obtains the number of milliseconds since the system has been running. * * @param { TimeType } timeType - indicates the type of get uptime. * @param { boolean } [ isNanoseconds ] - True if the result is in nanoseconds, otherwise in milliseconds * @returns { number } The timestamp returned of getUpTime. * @syscap SystemCapability.MiscServices.Time * @since 10 */ function getUptime(timeType: TimeType, isNanoseconds?: boolean): number; /** * Sets the system time. * * @permission ohos.permission.SET_TIME * @param { Date } date - The target date * @param { AsyncCallback } callback - The callback of setDate * @throws { BusinessError } 201 - Permission denied * @throws { BusinessError } 202 - Permission denied, Non system application use system APIs * @throws { BusinessError } 401 - Invalid parameters * @syscap SystemCapability.MiscServices.Time * @systemapi Hide this for inner system use * @since 9 * @deprecated since 10 * @useinstead systemDateTime.setTime */ function setDate(date: Date, callback: AsyncCallback): void; /** * Sets the system time. * * @permission ohos.permission.SET_TIME * @param { Date } date - The target date * @returns { Promise } The promise returned by the function * @throws { BusinessError } 201 - Permission denied * @throws { BusinessError } 202 - Permission denied, Non system application use system APIs * @throws { BusinessError } 401 - Invalid parameters * @syscap SystemCapability.MiscServices.Time * @systemapi Hide this for inner system use * @since 9 * @deprecated since 10 * @useinstead systemDateTime.setTime */ function setDate(date: Date): Promise; /** * Obtains the system date. * * @param { AsyncCallback } callback - The callback of getDate * @throws { BusinessError } 401 - Invalid parameters * @syscap SystemCapability.MiscServices.Time * @since 9 * @deprecated since 10 * @useinstead new Date() */ function getDate(callback: AsyncCallback): void; /** * Obtains the system date. * * @returns { Promise } The promise returned by the function * @throws { BusinessError } 401 - Invalid parameters * @syscap SystemCapability.MiscServices.Time * @since 9 * @deprecated since 10 * @useinstead new Date() */ function getDate(): Promise; /** * Sets the system time zone. * * @permission ohos.permission.SET_TIME_ZONE * @param { string } timezone - The system time zone * @param { AsyncCallback } callback - The callback of setTimezone * @throws { BusinessError } 201 - Permission denied * @throws { BusinessError } 202 - Permission denied, Non system application use system APIs * @throws { BusinessError } 401 - Invalid parameters * @syscap SystemCapability.MiscServices.Time * @systemapi Hide this for inner system use * @since 9 */ function setTimezone(timezone: string, callback: AsyncCallback): void; /** * Sets the system time zone. * * @permission ohos.permission.SET_TIME_ZONE * @param { string } timezone - The system time zone * @returns { Promise } The promise returned by the function * @throws { BusinessError } 201 - Permission denied * @throws { BusinessError } 202 - Permission denied, Non system application use system APIs * @throws { BusinessError } 401 - Invalid parameters * @syscap SystemCapability.MiscServices.Time * @systemapi Hide this for inner system use * @since 9 */ function setTimezone(timezone: string): Promise; /** * Obtains the system time zone. * * @param { AsyncCallback } callback - The callback of getTimezone * @throws { BusinessError } 401 - Invalid parameters * @syscap SystemCapability.MiscServices.Time * @since 9 */ function getTimezone(callback: AsyncCallback): void; /** * Obtains the system time zone. * * @returns { Promise } The promise returned by the function * @throws { BusinessError } 401 - Invalid parameters * @syscap SystemCapability.MiscServices.Time * @since 9 */ function getTimezone(): Promise; /** * Obtains the system time zone. * * @returns { string } The timezone returned of getTimezoneSync. * @syscap SystemCapability.MiscServices.Time * @since 10 */ function getTimezoneSync(): string; } export default systemDateTime;