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

时间:2017-04-19 06:42:38

标签: c# datetime-format

我目前的葡萄牙语日期时间格式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

4 个答案:

答案 0 :(得分:2)

\d只需escape,否则会被识别为day of the month

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

Sample

答案 1 :(得分:2)

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

答案 2 :(得分:1)

DateTime的格式为custom format specifiers

您可以通过转义来确保字符不会被格式化为日期/时间的一部分。

有两种方法可以转义字符:

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

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

e.g:

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

答案 3 :(得分:0)

d中的de具有特殊含义,因此您必须使用反斜杠转义该字母。

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