Свойство millisecondsSinceEpoch
Свойство millisecondsSinceEpoch класса DateTime возвращает целое число миллисекунд, прошедших с начала эпохи Unix - 1 января 1970 года 00:00:00 UTC. Значение не зависит от часового пояса объекта: для одного и того же момента времени в UTC и в локальном времени свойство вернет одинаковый результат.
Свойство доступно только для чтения и имеет тип int. Для дат, предшествующих эпохе Unix, возвращается отрицательное значение.
Синтаксис
dateTime.millisecondsSinceEpoch
Пример
Давайте создадим объект DateTime и получим количество миллисекунд, прошедших с начала эпохи Unix:
void main()
{
DateTime date = DateTime(2025, 1, 1);
int res = date.millisecondsSinceEpoch;
print(res);
}
Результат выполнения кода:
1735689600000
Пример
Давайте сравним значения millisecondsSinceEpoch для одной и той же даты в UTC и в локальном времени. Они должны совпасть:
void main()
{
DateTime local = DateTime(2025, 1, 1);
DateTime utc = DateTime.utc(2025, 1, 1);
print(local.millisecondsSinceEpoch);
print(utc.millisecondsSinceEpoch);
}
Результат выполнения кода:
1735689600000
1735689600000
Пример
Давайте получим текущий момент времени с помощью DateTime.now и выведем его значение в миллисекундах:
void main()
{
DateTime now = DateTime.now();
print(now.millisecondsSinceEpoch);
}
Результат выполнения кода (значение зависит от текущего времени):
1755000000000
Пример
Давайте создадим дату до начала эпохи Unix и убедимся, что значение будет отрицательным:
void main()
{
DateTime date = DateTime.utc(1969, 12, 31, 23, 59, 59);
print(date.millisecondsSinceEpoch);
}
Результат выполнения кода:
-1000
Смотрите также
-
свойство
microsecondsSinceEpoch,
которое возвращает микросекунды с начала эпохи Unix -
метод
fromMillisecondsSinceEpoch,
который создает дату из миллисекунд -
метод
difference,
который возвращает разницу между датами -
метод
toUtc,
который преобразует дату в UTC