Метод toUtc
Метод toUtc класса DateTime возвращает
новый объект DateTime, представляющий то же
самое время, что и исходный объект, но в часовом
поясе UTC (Coordinated Universal Time). Исходный
объект при этом не изменяется. Метод не принимает
параметров. Если исходный объект уже находится
в UTC, метод вернет новый объект с тем же
значением времени. Если исходный объект был
в локальном времени, метод выполнит пересчет
с учетом смещения часового пояса.
Синтаксис
dateTime.toUtc()
Пример
Давайте создадим объект DateTime в локальном
времени и преобразуем его в UTC:
void main()
{
DateTime local = DateTime(2025, 12, 31, 23, 59, 59);
DateTime utc = local.toUtc();
print(local);
print(utc);
}
Результат выполнения кода (зависит от часового пояса системы):
"2025-12-31 23:59:59.000"
"2025-12-31 20:59:59.000Z"
Пример
Давайте проверим, что исходный объект не изменяется,
а также убедимся, что результат действительно
находится в UTC с помощью свойства isUtc:
void main()
{
DateTime local = DateTime(2025, 6, 15, 12, 30, 0);
DateTime utc = local.toUtc();
print(local.isUtc);
print(utc.isUtc);
print(identical(local, utc));
}
Результат выполнения кода:
false
true
false
Пример
Давайте применим метод toUtc к объекту,
который уже находится в UTC, и убедимся,
что значение времени не изменилось:
void main()
{
DateTime utc = DateTime.utc(2025, 1, 1, 0, 0, 0);
DateTime res = utc.toUtc();
print(res);
print(res.isUtc);
}
Результат выполнения кода:
"2025-01-01 00:00:00.000Z"
true
Пример
Давайте сравним моменты времени до и после
преобразования с помощью метода isAtSameMomentAs,
чтобы убедиться, что физический момент времени
остался тем же:
void main()
{
DateTime local = DateTime(2025, 3, 10, 8, 0, 0);
DateTime utc = local.toUtc();
print(local.isAtSameMomentAs(utc));
}
Результат выполнения кода:
true
Смотрите также
-
метод
toLocal,
который преобразует время в локальный часовой пояс -
свойство
isUtc,
которое показывает, находится ли объект в UTC -
метод
isAtSameMomentAs,
который сравнивает моменты времени -
класс
DateTime,
который представляет дату и время