Datetime Parse方法将一天添加到输入日期

时间:2014-02-17 10:56:38

标签: c# parsing datetime

我正在从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");

非常感谢任何帮助。

2 个答案:

答案 0 :(得分:4)

原因是时区信息用于调整到当地时区的时间。

如果删除“-08:00”后缀,您会发现时间不会被调整。但是,在忽略时区之前,您需要知道时区信息是否重要!

答案 1 :(得分:2)

看起来你所拥有的是具有8小时偏移量的UTC日期/时间,当您解析日期时所拥有的是本地时间的实例(Parse将考虑抵消)。

如果您只对UTC日期/时间感兴趣,那么您可以解析该特定信息

DateTime.ParseExact("yyyy-MM-ddTHH:mm:ss", row["CountDate"], 
    CultureInfo.InvariantCulture);