【C#】使用 System.Globalization.DateTimeFormatInfo 屏蔽系統時間格式對代碼的影響

時間格式我使用的一直都是 yyyy-MM-dd HH:mm:ss,然後某天,我改成了 yyyy/MM/dd HH:mm:ss,然後神奇的問題就來了。

怎麼會出現這種情況的呢?

因爲我手賤改了系統的日期格式。打開 控制面板 → 日期和時間 → 更改日期和時間 → 更改日曆設置

我把日期格式設置成了 yyyy-MM-dd,然後就這樣了。也就是說,系統的時間格式優先級比 ToString 方法要高。

我們一般不會去修改系統的時間格式,這時 ToString 方法還是有效的,一旦修改了,ToString 方法就無效了。

解決方案就是使用 System.Globalization.DateTimeFormatInfo

Console.WriteLine(DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss",
                System.Globalization.DateTimeFormatInfo.InvariantInfo));

這樣就可以不受系統的時間格式影響了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章