在C#中,ToShortDateString()是用於顯示短日期格式的方法,如果使用下面的語句:
Label1.Text = DateTime.Now.ToShortDateString();
那么,在Label1中會顯示什么樣的短日期格式呢?
答案是:不確定。
可能是:2013-07-26
也可能是:2013/07/26
也可能是:2013.07.26
等等等等,雖然許多文章中認為應該是“2013-07-26”,實際上,ToShortDateString()方法所顯示出的短日期字符串不是由它本身所能控制的,實際它是由所處區域及人為設置所影響的。
進入“控制面板”,打開“區域和語言”,在“格式”簽下可以看到短日期的設置方式,比如上述ToShortDateString()所產生的三種可能的輸入分別對應了:“yyyy-MM-dd”、“yyyy/MM/dd”、“yyyy.MM.dd”三種設置的短日期格式。
因此,電腦所處的區域不同,或者電腦用戶的個人偏好不同,而設置了不同的短日期格式,那么在C#開發的Windows應用或者Web應用,短日期就會以不同的格式顯示。
但在設計開發中,為了保持界面的統一性,往往希望短日期格式在任何情況下都是固定不變的,不使其受到用戶對短日期格式設置的影響。這時候,需要使用ToString的方式,強行指定日期的顯示格式,而不提取客戶機上用戶設定的格式。
具體使用方法是:
Label1.Text = DateTime.Now.ToString("yyyy-MM-dd");
這樣做的結果,無論客戶機是什么樣的短日期格式設置,可以確定地說,這個日期的顯示格式必然是:
“2013-07-26”
同樣地,如果要在各種電腦上都顯示出統一的長日期、時間等信息,都可以使用ToString方法。
總結:如果強調統一的界面,可以使用ToString的辦法指定不變的日期或時間格式;如果考慮應用要靈活適應不同區域(比如可以全球訪問的網站)的用戶,則使用ToShortDateString辦法。