C# DateTime в UTC время без изменения времени
Как бы я преобразовал ранее существовавшее время datetime в время UTC без изменения фактического времени.
пример:
DateTime dateTime = GetSomeDateTime(); // dateTime here is 3pm
dateTime.ToUtcDateTime() // datetime should still be 3pm
4 ответа:
6/1/2011 4:08:40 PM Local 6/1/2011 4:08:40 PM Utc
С
DateTime dt = DateTime.Now; Console.WriteLine("{0} {1}", dt, dt.Kind); DateTime ut = DateTime.SpecifyKind(dt, DateTimeKind.Utc); Console.WriteLine("{0} {1}", ut, ut.Kind);
использовать
DateTime.SpecifyKind
статический метод.создает новый объект DateTime, который имеет то же количество тиков, что и заданное DateTime, но обозначается как локальное время, координированное универсальное время (UTC) или ни то, ни другое, как указано указанным значением DateTimeKind.
пример:
DateTime dateTime = DateTime.Now; DateTime other = DateTime.SpecifyKind(dateTime, DateTimeKind.Utc); Console.WriteLine(dateTime + " " + dateTime.Kind); // 6/1/2011 4:14:54 PM Local Console.WriteLine(other + " " + other.Kind); // 6/1/2011 4:14:54 PM Utc