Метод DateTime.ToLocalTime
Метод ToLocalTime выставляет
Kind в Local. Сдвиг
зависит от настроек ОС - в примерах
не печатают час после перевода.
Партнёр -
ToUniversalTime.
Синтаксис
DateTime local = dateTime.ToLocalTime();
Пример
Давайте переведём базовый dt
в местное:
using System;
class Program
{
static void Main()
{
var dt = new DateTime(2020, 1, 2, 3, 4, 5);
DateTime res = dt.ToLocalTime();
Console.WriteLine(res.Kind == DateTimeKind.Local);
}
}
Результат выполнения кода:
True
Пример
Давайте проверим, что исходный dt
остался без метки Local:
using System;
class Program
{
static void Main()
{
var dt = new DateTime(2020, 1, 2, 3, 4, 5);
dt.ToLocalTime();
Console.WriteLine(dt.Kind == DateTimeKind.Unspecified);
}
}
Результат выполнения кода:
True
Пример
Давайте перевести UTC-метку в местное
и снова проверить Kind:
using System;
class Program
{
static void Main()
{
var dt = DateTime.SpecifyKind(
new DateTime(2020, 1, 2, 3, 4, 5), DateTimeKind.Utc);
DateTime res = dt.ToLocalTime();
Console.WriteLine(res.Kind == DateTimeKind.Local);
}
}
Результат выполнения кода:
True
Смотрите также
-
ToUniversalTime,
в UTC -
SpecifyKind,
задатьKindбез сдвига -
AddHours,
арифметика часов -
Compare,
что раньше