Модуль управления временем и таймерами предоставляет API для управления системным временем.
Рисунок 1 Архитектурная схема подсистемы
/base/time/time_service
├── etc # Конфигурационные файлы процессов
├── figures # Диаграммы архитектуры
├── framework/js/napi # JavaScript-интерфейсы, реализуемые через NAPI-интерфейсы
├── interfaces/inner_api # Внешние интерфейсы, предоставляемые компонентом
├── services # Реализация сервиса времени
│ └── sa_profile # Модуль, содержащий конфигурационные файлы системных сервисов и процессов
├── test # Единичные тесты интерфейсов
└── utils # Модуль, содержащий логи печати и константы для общих событий
Таблица 1 Основные функции управления системным временем| Название интерфейса | Описание | | -------------------------------------------------------- | ------------------------------------------------------------ | | setTime(time : number) : Promise | Устанавливает системное время (в миллисекундах от 1 января 1970 года до настоящего момента), метод Promise. | | setTime(time : number, callback : AsyncCallback) : void | Устанавливает системное время (в миллисекундах от 1 января 1970 года до настоящего момента), режим обратного вызова. | | setDate(date: Date, callback: AsyncCallback): void; | Устанавливает системное время (в формате Date), режим обратного вызова. | | setDate(date: Date): Promise | Устанавливает системное время (в формате Date), метод Promise. | | setTimezone(timezone: string, callback: AsyncCallback): void | Устанавливает временную зону системы, режим обратного вызова. | | setTimezone(timezone: string): Promise | Устанавливает временную зону системы, метод Promise. |Таблица 2 Основные функции управления системным таймером| Название интерфейса | Описание | | ------------------------------------------------------------ | ------------------------------------- | | createTimer(options: TimerOptions, callback: AsyncCallback): void | Создание таймера, метод обратного вызова | | createTimer(options: TimerOptions): Promise | Создание таймера, метод промиса | | startTimer(timer: number, triggerTime: number, callback: AsyncCallback): void | Запуск таймера, режим обратного вызова | | startTimer(timer: number, triggerTime: number): Promise | Запуск таймера, режим промиса | | stopTimer(timer: number, callback: AsyncCallback): void | Остановка таймера, режим обратного вызова | | stopTimer(timer: number): Promise | Остановка таймера, режим промиса | | destroyTimer(timer: number, callback: AsyncCallback): void | Уничтожение таймера, метод обратного вызова| | destroyTimer(timer: number): Promise | Уничтожение таймера, метод промиса |
Таблица 3 Описание параметров TimerOptions для системного таймера| имя | тип | описание |
| --------- | -------- | ------------------------------------------------------------ |
| type | число | Тип таймера.
Если значение равно 1, это представляет системный таймер запуска (время старта таймера не может быть позже текущего установленного времени системы);
Если значение равно 2, это указывает на таймер пробуждения;
Если значение равно 4, это указывает на точечный таймер;
Если значение равно 5, это указывает на таймер режима IDLE (не поддерживается).|
| repeat | логическое | true — циклический таймер, false — одноразовый таймер. |
| interval | число | Для циклического таймера значение повторения должно превышать 5000 миллисекунд, а для одноразового таймера значение должно быть равно 0. |
| wantAgent | wantAgent | Устанавливает wantagent для уведомлений при истечении срока действия таймера. |
| callback | => void | Устанавливает обратный вызов функции, которая будет выполнена после истечения срока действия таймера. |### Пример кода
Пример использования системного времени
// Импортирование модуля.
import systemTime from '@ohos.systemTime';
// Установка системного времени асинхронно с помощью Promise.
var time = 1611081385000;
systemTime.setTime(time).then((value) => {
console.log(`Успешная установка системного времени: ${value}`);
}).catch((err) => {
console.error(`Неудачная установка системного времени: ${err.message}`);
});
// Установка системного времени асинхронно с использованием обратного вызова.
var time = 1611081385000;
systemTime.setTime(time, (err, value) => {
if (err) {
console.error(`Неудачная установка системного времени: ${err.message}`);
return;
}
console.log(`Успешная установка системного времени: ${value}`);
});
Пример использования системного таймера
// Импортирование модуля
import systemTimer from '@ohos.systemTimer';
console.log("начало");
var options: TimerOptions = {
type: TIMER_TYPE_REALTIME,
repeat: false,
interval: Number.MAX_VALUE / 2,
persistent: false
};
console.log("создание таймера");
let timerId = systemTimer.Timer(options);
console.log("запуск таймера");
let startTimerRes = systemTimer.startTimer(timerId, 100000);
console.log("остановка таймера");
let stopTimerRes = systemTimer.stopTimer(timerId);
console.log("удаление таймера");
let destroyTimerRes = systemTimer.destroyTimer(timerId);
console.log('конец');
Подсистема Time/Timezone
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )