UTC是否有任何函数可以将特定日期时间转换为UTC日期时间

时间:2008-11-12 23:41:55

标签: c#

我想将特定日期12-11-2008 11:33:04.510转换为UTC日期时间。任何人都可以帮我如何做到这一点。我想用c#编码来做这件事。

3 个答案:

答案 0 :(得分:8)

只需使用DateTime.ToUniversalTime,假设它现在位于您计算机的本地时区。

答案 1 :(得分:2)

DateTime不支持时区。它可以被视为本地时间或UTC时间,正如Jon Skeet所说,DateTime.ToUniversalTime可以在它们之间进行转换。

在.NET3.5中还有TimeZoneInfo类,允许在任意时区之间转换DateTime,但是根据您的需要,前者可能已经足够好了。 还有一个DateTimeOffset类就像DateTime一样,除了它还存储了一个UTC的偏移量,如果你必须处理多个时区,它会更加健壮。

答案 2 :(得分:0)

如果您希望将DateTime标识为UTC,您还可以为其分配DateTimeKind,

DateTime saveNow = DateTime.Now; DateTime myDt;  myDt = DateTime.SpecifyKind(saveNow,DateTimeKind.Utc);

或者如果你知道它是本地的: string formattedDate =“12-11-2008 11:33:04.510”;   DateTime localDt = DateTime.Parse(formattedDate,null,                                               DateTimeStyles.AssumeLocal);

或者如果您知道它是UTC: string formattedDate =“12-11-2008 11:33:04.510”;   DateTime localDt = DateTime.Parse(formattedDate,null,                                               DateTimeStyles.AssumeUniversal);