将"de"添加到 es-ES CultureInfo DateTime C#



可能是愚蠢的问题,但我以前没有和文化打交道过。日期的资产需要是:

mmm dd "de" yyyy ("de"不带引号)。

juno 1 de 2015

我现在的情况:

CultureInfo ci = new CultureInfo("es-ES", false);
string date = DateTime.Now.ToString("MMMM dd REPLACE yyyy", ci).Replace("REPLACE", "de");

我想知道是否有一种"更编程正确"的方式来做到这一点,我不知道而不是做string.Replace

只需用单引号、双引号引用文字部分,或者用反斜杠转义每个字符:

string date = DateTime.Now.ToString("MMMM dd 'de' yyyy", ci);
string date = DateTime.Now.ToString("MMMM dd "de" yyyy", ci);
string date = DateTime.Now.ToString(@"MMMM dd de yyyy", ci);

请注意,在第二个选项中,我们需要转义字符串字面值中的",而在第三个选项中,我使用逐字字符串字面值来避免转义反斜杠。使用单引号是最简单的:)

阅读自定义日期和时间格式字符串,了解更多关于您可以做什么的一般细节。

可以用反斜杠转义:

string date = DateTime.Now.ToString(@"MMMM dd de yyyy", ci)

查看文档

注意@,它防止反斜杠被解析为字符串转义。

如果我理解清楚的话,您可以用单引号转义de部分,如;

string date = DateTime.Now.ToString("MMMM dd 'de' yyyy", ci);

或带双引号;

string date = DateTime.Now.ToString("MMMM dd "de" yyyy", ci);

或使用转义字符作为逐字串字面值;

string date = DateTime.Now.ToString(@"MMMM dd de yyyy", ci);

我更喜欢使用单引号,因为"可能会混淆。

更多信息请访问;

  • 自定义日期和时间格式字符串

相关内容

  • 没有找到相关文章

最新更新