加入“;";到es es CultureInfo DateTime C#

加入“;";到es es CultureInfo DateTime C#,c#,datetime,cultureinfo,C#,Datetime,Cultureinfo,也许这是个愚蠢的问题,但我以前从未和文化打过交道。该日期的资产需要为: 年月日“de”yyyy(de上无引号) 2015年6月1日 我现在所拥有的: CultureInfo ci = new CultureInfo("es-ES", false); string date = DateTime.Now.ToString("MMMM dd REPLACE yyyy", ci).Replace("REPLACE", "de"); 我想知道是否有一种“在编程上更正确”的方法,我不知道,而不是使用字符

也许这是个愚蠢的问题,但我以前从未和文化打过交道。该日期的资产需要为:

年月日“de”yyyy(de上无引号)

2015年6月1日

我现在所拥有的:

CultureInfo ci = new CultureInfo("es-ES", false);
string date = DateTime.Now.ToString("MMMM dd REPLACE yyyy", ci).Replace("REPLACE", "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 \d\e 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 \d\e yyyy", ci);


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

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

string date = DateTime.Now.ToString(@"MMMM dd \d\e 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 \d\e yyyy", ci);
注意,在第二个选项中,我们需要在字符串文本中转义
,在第三个选项中,我使用逐字逐句的字符串文本来避免转义反斜杠。使用单引号是最简单的:)


阅读更多关于您可以做什么的详细信息。

我认为您只需要避开d,比如\d(例如ToString(“MMMM-dd\de-yyyy”,ci)),请参见不知道您可以做这件事-通知它。