C#中System.Globalization.DateTimeFormatInfo.InvariantInfo怎麼用

來源:互聯網
上載者:User

在開發的時候,碰到下面這樣一個問題:

在程式中顯示當前系統時間,但是有一個要求,那就是,不論系統時間格式設定成什麼,介面顯示的時間都必須是“yyyy/MM/dd HH:mm:ss"格式的。

 

剛開始,我在代碼中是這樣寫的:

this.label2.Text = System.DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss");

系統設定的日期格式為:yyyy/M/d或yyyy/MM/dd

此時執行程式,一切正常,顯示效果為:

 

但是,當我將系統日期格式設定為:yyyy-MM-dd(或其他不帶“/”的系統日期格式)

再執行程式,顯示的時間格式卻發生了變化,和系統設定的時間格式一致了。

如下:

通過反覆實驗發現,程式最終顯示的日期格式總是和系統設定的日期格式保持一致,也就是說代碼中的DateTme.ToString("yyyy/MM/dd HH:mm:ss");部分不起作用了。

看來,要想DateTme.ToString("yyyy/MM/dd HH:mm:ss")的設定起作用,必須排除系統日期設定的格式的影響,經過一番尋找,發現:可以使用System.Globalization.DateTimeFormatInfo.InvariantInfo來排除當前Culture的影響。

於是,將代碼改為:

this.label2.Text = System.DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss",System.Globalization.DateTimeFormatInfo.InvariantInfo);

這樣的話,不管系統日期格式被設定成什麼,顯示的日期格式均為:yyyy/MM/dd

一切,ok。

 

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.