c#日期组件错误或我错过了什么?

kah*_*ras 6 c# datetime

我有以下代码的巨大问题:

DateTime date = DateTime.Now;
String yearmonthday = date.ToString("yyyy/MM/dd");
MessageBox.Show(yearmonthday);
Run Code Online (Sandbox Code Playgroud)

问题是,C#使用系统日期分隔符而不是总是使用我指定的"/".如果我运行该代码,我得到以下输出:

2011/03/18
Run Code Online (Sandbox Code Playgroud)

但如果我去"控制面板" - >"区域和语言选项"并将日期分隔符更改为" - ",我得到

2011-03-18
Run Code Online (Sandbox Code Playgroud)

即使在toString方法中我指定使用'/'.我错过了什么,或者这是C#/ .Net Framework错误?

Dar*_*rov 5

试试这样:

String yearmonthday = date.ToString("yyyy/MM/dd", CultureInfo.InvariantCulture);
Run Code Online (Sandbox Code Playgroud)

或逃避 /

String yearmonthday = date.ToString(@"yyyy\/MM\/dd");
Run Code Online (Sandbox Code Playgroud)


Luk*_*keH 5

/您的格式字符串作为日期分隔符的占位符 -你所看到的现象是设计和明确记载.

如果你需要一个文字,/那么你需要在你的格式字符串中转义它,然后它应该看起来像"yyyy\/ MM\/ dd""yyyy'/'MM'/'dd".