Компьютерное время

У многих начинающих пользователей возникает вопрос: «Как компьютер определяет время, и почему оно не сбивается при его выключении?». Дело в том, что в любой современный компьютер встроены системные часы с маленькой автоматически подзаряжающейся при работе компьютера батарейкой. Они представляют собой микросхему, генерирующую с определенной частотой прерывания, Количество произведенных прерываний фиксируется и затем пересчитывается в стандартные единицы измерения времени. Точность системных часов составляет приблизительно 1/1000 секунды (строго говоря, она аппаратно зависима), поэтому компьютерное время принято измерять в миллисекундах.

Системные часы компьютера могут измерить лишь промежуток времени, прошедший с момента их активизации. Абсолютное же значение времени вычисляется, исходя из задаваемого вами времени начала отсчета. Задать это время можно двумя способами. Так, вы можете просто настроить часы Windows по обычным часам или сигналам точного времени. Этот способ позволяет задать время с точностью до секунд, что практически всегда приемлемо. Однако, например, если вы увлекаетесь астрономией, то системные часы на вашем компьютере должны быть настроены более точно.


Решить эту задачу можно при помощи специальных утилит, которые синхронизируют через интернет-соединение таймер на вашем компьютере с эталонными атомными часами. При этом время на часах компьютера можно приблизить к стандартному UTC-времени вплоть до миллисекунд.

Форма представления времени, с которой работает компьютер, серьезно отличается от традиционных лет, месяцев, дней и часов, с которыми мы сталкиваемся в повседневной жизни. Время возвращается компьютерными часами как количество миллисекунд, прошедших с 1 января 1970 года по гринвичскому времени. Зная это значение, совсем несложно определить, какой сейчас год, месяц, число, день недели и т. д. Для этого достаточно элементарных арифметических операций.

Правда, при этом приходится использовать приближение, считая, что в сутках ровно 86 400 000 миллисекунд. Реально же это не так, Учесть погрешность, возникающую из-за неравномерности движения Земли, можно только, периодически синхронизируя компьютерные часы со стандартным UTC-эталоном.

Впрочем, высокая точность часов на компьютере требуется исключительно редко, поэтому описанное приближение не является потенциальным источником каких-либо сложностей.


Системные часы возвращают значение гринвичского времени. Чтобы пересчитать его в локальное время, операционная система использует данные о том, в каком часовом поясе располагается компьютер. Более того, ей учитывается даже переход на летнее время. Используя ActionScript, можно находить значение как локального, так и гринвичского времени.

ActionScript считывает системное время в формате 64-битового числа с плавающей точкой. Этой величины вполне достаточно, чтобы представить любую реальную дату. На данный моменте 1 января 1970 года прошло всего 1 072 062 073 017 миллисекунд. Всего же 64 бита позволяют представить целые числа от -9 007 199 254 740 991 до 9 007 199 254 740 991. Это означает, что вы потенциально можете работать с датами, отстоящими от 1970 года более чем на 200 000 лет.

Оцените статью: (0 голосов)
0 5 0

Статьи из раздела Action Script на эту тему:
Класс Date
Методы класса Date
Определение времени, прошедшего с начала проигрывания фильма
Основные понятия теории измерения времени

Вернуться в раздел: Action Script / 14. Время и дата