C# UTC是否有将特定日期时间转换为UTC日期时间的功能

C# UTC是否有将特定日期时间转换为UTC日期时间的功能,c#,C#,例如,我想将特定日期12-11-2008 11:33:04.510转换为UTC日期时间。有人能帮我怎么做吗。我想用c#编码来实现这一点。只要使用,假设它现在位于计算机的本地时区。日期时间不知道时区。它可以被视为本地时间或UTC时间,正如Jon Skeet所说,DateTime.ToUniversalTime可以在它们之间转换 在.NET3.5中,还有TimeZoneInfo类,它允许在任意时区之间转换日期时间,但根据您的需要,前者可能已经足够好了。 还有一个DateTimeOffset类,它的工

例如,我想将特定日期12-11-2008 11:33:04.510转换为UTC日期时间。有人能帮我怎么做吗。我想用c#编码来实现这一点。

只要使用,假设它现在位于计算机的本地时区。

日期时间不知道时区。它可以被视为本地时间或UTC时间,正如Jon Skeet所说,DateTime.ToUniversalTime可以在它们之间转换

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

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

DateTime saveNow=DateTime.Now; 日期时间myDt; myDt=DateTime.SpecifyKind(saveNow,DateTimeKind.Utc)

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

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