我目前的葡萄牙语日期时间格式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
?
答案 0 :(得分:2)
\d
只需escape,否则会被识别为day of the month
。
new DateTime(2017, 12, 1).ToString(@"d \de MMM \de yyyy", new CultureInfo("PT-pt"));
答案 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
具有特殊含义,因此您必须使用反斜杠转义该字母。
这涉及可能与已预定义的日期或时间格式说明符冲突的所有字母。