簡體   English   中英

DateTime:如何顯示為DD.MM.YYYY?

[英]DateTime: how to display as DD.MM.YYYY?

我有DateTime變量,我想將其轉換為字符串“DD.MM.YYYY”請注意,值必須用“點”符號分隔。

當然我可以做手工字符串組合。 但我想知道我是否可以使用DateTime.ToString()來進行必要的轉換。

是的你可以:

string formatted = dt.ToString("dd'.'MM'.'yyyy");

現在在這種情況下,實際上並不需要引號,因為自定義日期/時間格式字符串不以任何特殊方式解釋點。 但是,我喜歡明確 - 如果改變'。' 例如,對於':',當它被引用時,它將保留顯式字符,但不引用它將是“特定於文化的時間分隔符”。 對我來說,“是否”並不完全明顯。 將被解釋為“文化特定的小數分隔符”,因此引用。 當然,你可能覺得它超過了頂層 - 這完全是你的決定。

可能還想指定不變文化,只是為了消除任何其他疑點:

string formatted = dt.ToString("dd'.'MM'.'yyyy", CultureInfo.InvariantCulture);

(此時點周圍的引號變得不那么相關,因為“。”無論如何都是不變文化中的小數分隔符。)

是的,您可以像這樣使用DateTime.ToString:

myDateVariable.ToString("dd.MM.yyyy");

請注意,您必須在此處使用大寫MM,因為mm的計算結果為分鍾而不是幾個月。

這是您的另一種選擇:

DateTime.Now.ToString("d", new CultureInfo("de-DE"))

德國的使用. 作為日期分隔符。

您可以格式化日期,如下所示:

date.ToString("dd.MM.yyyy")

格式化數字時. 將根據使用的CultureInfo更改,但在格式化日期時不會更改。

如果要根據代碼分析規則CA1304驗證代碼:指定CultureInfo ,即使對於此特定格式無關緊要,您也必須使用不變文化:

date.ToString("dd.MM.yyyy", CultureInfo.InvariantCulture)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM