c# - 获取原始日期时间偏移量
问题描述
我有以下代码
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 中获取偏移量。
解决方案
正如@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);
推荐阅读
- django - 如何将过滤器后端添加到基于功能的视图?
- angular - 带有输出兑现标志的 Angular 构建生成相同的哈希
- python - 用于计算两者之间差异的平方的 Python 代码
- eclipse - 当我从 Eclipse 运行我的 MonkeyC 程序时,为什么我的代码更改没有编译或显示?
- logging - 处理重写规则后的 Haproxy 记录最终路径
- c++ - Qt 如何枚举屏幕?
- kubernetes - 如何更改 OpenShift 控制台 URL 和 API URL
- python - 使用 Python 提取包含给定单词的标签之间的文本
- javascript - 如何使用时刻获取相同日期的数据?
- vue.js - Vue在更改路由时重新创建父组件