葡萄牙语的 C# 日期时间格式

C# Datetime format for portuguese

我当前的葡萄牙语日期时间格式是 d MMM yyyy,结果是 1 dez 2017,我希望它显示如下:1 de dez de 2017

当我像这样格式化日期时 d de MMM de yyyy 我会得到这个 1 1e dez 1e 2017

有没有办法绕过de要转换到日期?

我的问题是有没有办法像这样格式化日期1 de dez de 2017

escape \d 否则会被识别为day of the month.

new DateTime(2017, 12, 1).ToString(@"d \de MMM \de yyyy", new CultureInfo("PT-pt"));

Sample

new DateTime(2017, 1, 1).ToString("d 'de' MMM 'de' yyyy", new CultureInfo("PT-pt"));

de中的d有特殊含义,必须用反斜杠转义那个字母。

这涉及所有可能与已预定义的日期或时间格式说明符冲突的字母。

DateTime 的格式为 custom format specifiers

您可以通过转义确保字符不会被格式化为 date/time 的一部分。

字符转义有两种方法:

  • \字符可用于转义单个字符
  • '"字符可用于转义字符串。

后者可能更容易使用,因为您可以将格式字符串中的任何单词包装在其中,然后忘记它。

例如:

 DateTime.Now.ToString("d 'de' MMM 'de' yyyy");