C# - 如何在 DATETIME 中使用 System.Globalization.CultureInfo 获取斜线

C# - How do i get a slash in DATETIME, with System.Globalization.CultureInfo

我想要这种格式的丹麦语日期格式

"Tor. 27/6"

Tor 是 torsdag 的缩写,在丹麦语中是星期四的意思

我有这个代码

string formatted = datetime.ToString("ddd. dd/MM", new System.Globalization.CultureInfo("da-DK"));

它正在返回

"To. 27-6"

所以它使用破折号并忽略斜线。 我如何在仍然使用 cultureinfo 丹麦语的同时强制它使用斜杠?

是的,/ 字符在自定义 date/time 格式字符串中具有 "culture specific date separator" 的特定含义。

如果你想要文字 /,你需要在模式中引用它:

var culture = new CultureInfo("da-DK");
string formatted = datetime.ToString("ddd. dd'/'MM", culture);

我机器上的输出:

to. 27/06

它使用“06”而不是“6”,因为您在格式字符串中使用了 MM - 如果您不想在日期和月份数字中使用零填充,请使用 "ddd. d'/'M" 作为格式字符串。诚然,这无助于 "to" 变成 "Tor"。如果需要,您需要修改区域性的缩写 day-of-week 值。

用单引号将所需的日期分隔符(在本例中为“/”)括起来。

string formatted = datetime.ToString("ddd. dd'/'MM", new System.Globalization.CultureInfo("da-DK"));