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