我们的网络服务使用Datetime.parse
方法将数据从xml转换为DateTime
格式。它分别解析日期和时间字符串并将其添加到一起 -
DateTime.Parse(Date_string).add(TimeSpan.Parse(Time_string)).
除了上周的几个小时外,代码工作正常。时间比实际时间提前12小时显示。例如,01/01/2011 10:00:00
将被解析为01/01/2011 22:00:00
。在此期间的大多数请求都比实际时间提前12小时处理datetime
值,尽管有些处理正确。它现在工作正常,之后没有看到它。
有没有人见过这样的问题?
答案 0 :(得分:1)
你说“代码工作正常,除了上周的几个小时”,但是你没有明确说明那个时间或你所在的时区。有可能是夏令时变化吗?
你根本不应该使用TimeSpan.Parse。 TimeSpan不代表时间,尽管它的外观为hh:mm:ss。 TimeSpan表示固定的DURATION时间。
如果确实给出了单独的日期和时间字符串,请在解析之前将它们连接在一起,例如:
DateTime dt = DateTime.Parse(date_string + " " + time_string);
您还应该了解所发送字符串的时区含义。有关详细信息,请参阅DateTime.Parse上的MSDN文章。