C# DateTime去掉时区,变成世界时UTC的方法(时间不变)

DateTime转成世界时(UTC)且时间不变

将本地时区去除,转成UTC:

因为将本地时区转换成世界时的时候,会去除偏移量,导致时间变更,因此思路就是先追加偏移量,然后再进行转换。如以下代码所示:

var today = DateTime.Today;
if (today.Kind==DateTimeKind.Local)
{
    
    
	//获取本地时区偏移量
    var offset = TimeZoneInfo.Local.BaseUtcOffset;
    //追加偏移量
    today = today.Add(offset);
    //转成世界时(过程中回去除偏移量)
    today = TimeZoneInfo.ConvertTimeToUtc(today);
}

同理,只要知道偏移量就可以去除时区。

猜你喜欢

转载自blog.csdn.net/qq_42068856/article/details/103486204