[英]DateTime formatting returns strange results
我有這個:
DateTime date = new DateTime();
然后我打印它。 結果如下:
本地主機:
date: 1/1/0001 12:00:00 AM
在服務器上:
date: 1-1-0001 0:00:00
正確的方法是本地主機上的方法。 如何解決這個問題,為什么會這樣? 這是相同的代碼。
因為不同機器上的區域設置不同。 要以相同的格式輸出日期時間,您必須明確指定格式字符串:
date.ToString("yyyy-MM-dd HH:mm:ss");
同樣正如約翰在下面的評論中所推薦的那樣,如果您希望在不同的機器上以相同的格式輸出日期時間,盡管本地區域設置,您可以使用InvariantCulture格式提供程序:
date.ToString(CultureInfo.InvariantCulture);
微軟:
不變文化是文化不敏感的; 它與英語相關,但與任何國家/地區無關
微軟:
您可以使用不變區域性來顯示您的日期,如果您不太關心格式,只要它始終相同即可。
date.ToString(System.Globalization.CultureInfo.InvariantCulture.DateTimeFormat);
要以您在那里顯示的方式顯示日期,您可以使用:
date.ToString("M/d/yyyy hh:mm:ss tt");
或者在使用格式字符串時:
string.Format("date: {0:M/d/yyyy hh:mm:ss tt}", date);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.