为葡萄牙葡萄牙
问题描述:
我的当前日期时间格式C#DateTime格式是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
?
答
new DateTime(2017, 1, 1).ToString("d 'de' MMM 'de' yyyy", new CultureInfo("PT-pt"));
答
的d
在de
有特殊的意义,所以你必须使用反斜线那封信。
这涉及所有可能与已经预定义的日期或时间格式说明符冲突的字母。
答
DateTime
s被格式化为custom format specifiers。
通过转义字符,您可以确保字符未被格式化为日期/时间的一部分。
有逸出字符两种方法:
- 的
\
字符可以用于逃生单个字符 - 的
'
或"
字符可以是使用逃脱字符的字符串。
后者可能更容易使用,因为您可以将任何单词放在格式字符串中并忘记它。
如:
DateTime.Now.ToString("d 'de' MMM 'de' yyyy");
确切需要的不是[转换日期时间到指定格式]明确 –
可能的复制(http://stackoverflow.com/questions/9371658/convert-datetime-to-a-指定格式) –
重复? http://stackoverflow.com/questions/15724183/how-to-put-unprocessed-escaped-words-inside-string-format – MarkO