c# now 為什麼DateTime.ToString(“dd/MM/yyyy”)給我dd-MM-yyyy?




datetime c# define (4)

我希望將我的日期時間轉換為格式為“dd / MM / yyyy”的字符串

每當我使用DateTime.ToString("dd/MM/yyyy")對其進行轉換時,我就會得到dd-MM-yyyy

是否有某種文化信息需要設置?


添加CultureInfo.InvariantCulture作為參數:

using System.Globalization;

...

var dateTime = new DateTime(2016,8,16);
dateTime.ToString("dd/MM/yyyy", CultureInfo.InvariantCulture);

將返回:

"16/08/2016"


CultureInfo.InvariantCulture傳遞給DateTime的第二個參數,它將返回所需的字符串,即使是非常特殊的格式:

DateTime.Now.ToString("dd|MM|yyyy", CultureInfo.InvariantCulture)

將返回:28 | 02 | 2014


斜線是日期分隔符,因此將使用當前的文化日期分隔符。

如果你想對它進行硬編碼以使用斜杠,你可以這樣做:

DateTime.ToString("dd'/'MM'/'yyyy")




datetime