我正在从xml文件中读取日期并将其解析为我想要的格式。我在日期中添加了一天,我似乎无法弄清楚原因。
输入:2014-02-12T15:21:19-08:00 输出:2014年2月13日01:21
以下是我解析日期的代码:
string date = DateTime.Parse(row["CountDate"].ToString()).ToString("dd MMM yyyy HH:mm");
非常感谢任何帮助。
答案 0 :(得分:4)
原因是时区信息用于调整到当地时区的时间。
如果删除“-08:00”后缀,您会发现时间不会被调整。但是,在忽略时区之前,您需要知道时区信息是否重要!
答案 1 :(得分:2)
看起来你所拥有的是具有8小时偏移量的UTC日期/时间,当您解析日期时所拥有的是本地时间的实例(Parse
将考虑抵消)。
如果您只对UTC日期/时间感兴趣,那么您可以解析该特定信息
DateTime.ParseExact("yyyy-MM-ddTHH:mm:ss", row["CountDate"],
CultureInfo.InvariantCulture);