首页 > 解决方案 > 获取原始日期时间偏移量

问题描述

我有以下代码

string dateString = "2018-04-20T12:22:32.8526432-05:30";

var objDate = DateTime.Parse(dateString);  

string newDateString = objDate.ToString();  //"4/20/2018 1:52:32 PM"

将字符串解析为 DateTime 后,如何从 objDate 获取原始 DateTime 偏移量,即 -5:30?我尝试了以下代码,但它给出了本地偏移量,即 -4:00 但不是 -5:30。

var offset = TimeZone.CurrentTimeZone.GetUtcOffset(objDate);

请注意,我想从 DateTime 对象(objDate)而不是字符串变量 dateString 中获取偏移量。

标签: c#.net

解决方案


正如@Evk 所提到的,该DateTime类型不存储偏移量。相反,正如@macchettura 所建议的那样

string dateString = "2018-04-20T12:22:32.8526432-05:30";
var offset = DateTimeOffset.Parse(dateString);

// returns -05:30:00
Console.WriteLine(offset.Offset);

推荐阅读