格式化DateTime - 忽略文化

cog*_*el0 6 c#

我需要将日期格式化为以下格式:

M-d-yyyy

我试过用:

string.Format("{0:M-d-yyyy}", DateTime.Now)

但输出字符串将取决于运行它的计算机上的CurrentCulture,因此有时输出可能是07/09/2014或07.09.2014代替09-07-2014.

我怎样才能轻易地阻止它根据文化转换它并将其视为文字字符串?

Dan*_*ite 9

使用CultureInfo.InvariantCulture作为文化或供应商的说法.

String.Format(CultureInfo.InvariantCulture, "{0:M-d-yyyy}", DateTime.Now)
Run Code Online (Sandbox Code Playgroud)


Wil*_*sem 6

使用CultureInfo.InvariantCulture作为一个IFormatProvider参数:

DateTime.Now.ToString("M-d-yyyy", CultureInfo.InvariantCulture);
Run Code Online (Sandbox Code Playgroud)