2016-05-20 70 views
3

这是怎么回事让我的本地计算机解析日期时间不同于另一台计算机。 从调试屏幕截图中可以看到,日期5/10/1983被解析为5/9/1983,但是如果我在C#小提琴中执行此操作,您可以在链接中看到它,它可以正常工作。C#日期时间解析正在ISO格式中减去一天

https://dotnetfiddle.net/0r2V2q

enter image description here

+5

我想说的可能的答案是5小时的时区差异。 –

+0

仍然很糟糕,因为这意味着ToLocalTime被调用并且解析的时间被标记为GTC。虽然这是正确的,但它确实使调试代码有时更加痛苦。 – TomTom

+1

日期时间/时区总是很糟糕。这就是为什么我们应该都有一个共同的时区:) –

回答

4

使用如下:

string inputStr = "1995-05-10T00:00:00-00:00"; 
DateTime dt; 
DateTime.TryParse(inputStr,CultureInfo.InvariantCulture,DateTimeStyles.AdjustToUniversal, out dt);