我需要将日期格式化为以下格式:
M-d-yyyy
我尝试使用:
string.Format("{0:M-d-yyyy}", DateTime.Now)
但输出字符串将取决于运行它的计算机上的CurrentCulture,因此有时输出可能是07/09/2014
或07.09.2014
而不是09-07-2014
。
如何根据文化对其进行转换并将其视为文字字符串?
答案 0 :(得分:9)
使用CultureInfo.InvariantCulture
作为culture或provider参数。
String.Format(CultureInfo.InvariantCulture, "{0:M-d-yyyy}", DateTime.Now)
答案 1 :(得分:6)
使用CultureInfo.InvariantCulture
作为IFormatProvider
参数:
DateTime.Now.ToString("M-d-yyyy", CultureInfo.InvariantCulture);
答案 2 :(得分:1)
您可以使用以下方式设置程序的文化:
Thread.CurrentThread.CurrentCulture = System.Globalization.CultureInfo.InvariantCulture;`
如果您愿意,也可以使用特定的文化(我认为en-US
是您需要的文化)
答案 3 :(得分:0)
使用以下内容:
DateTime.Now.ToString("d", DateTimeFormatInfo.InvariantInfo);
或应用http://msdn.microsoft.com/en-us/library/az4se3k1%28v=vs.110%29.aspx
中详述的其他格式规范与你的案件有关,可以写成:
DateTime.Now.ToString("M-d-yyyy", DateTimeFormatInfo.InvariantInfo);
此致
答案 4 :(得分:-1)
您可以使用.ToString()
对象上的DateTime
方法对其进行格式化,无论您喜欢什么。您的代码看起来像这样:
DateTime.Now.ToString("M-d-yyyy");
有关格式化日期时间的更多信息,请访问MSDN:http://msdn.microsoft.com/en-us/library/zdtaw1bw%28v=vs.110%29.aspx
答案 5 :(得分:-1)
如果您愿意,可以将字符串强制为标准格式