[Test]
public void Sadness()
{
var dateTime = DateTime.UtcNow;
Assert.That(dateTime, Is.EqualTo(DateTime.Parse(dateTime.ToString())));
}
Expected: 2011-10-31 06:12:44.000
But was: 2011-10-31 06:12:44.350
,我想知道發生了什麼幕後的ToString()等會導致此行爲。
編輯看到喬恩的答案後:
[Test]
public void NewSadness()
{
var dateTime = DateTime.UtcNow;
Assert.That(dateTime, Is.EqualTo(DateTime.Parse(dateTime.ToString("o"))));
}
結果:
Expected: 2011-10-31 12:03:04.161
But was: 2011-10-31 06:33:04.161
同樣的結果與大寫和小寫 'O'。我正在閱讀文檔,但仍不清楚。
添加'CultureInfo.InvariantCulture'沒有幫助:它產生'預計:2011-10-31 12:09:51.928 卻被:2011-10-31 06:39:51.928 ' – Zasz
一些解析邏輯/字符串邏輯添加了6小時30分鐘的時間:( – Zasz