[英]Formatting DateTime - ignore culture
我需要将日期格式化为以下格式:
Md-yyyy
我试过用:
string.Format("{0:Md-yyyy}", DateTime.Now)
但输出字符串将取决于运行它的计算机上的CurrentCulture,因此有时输出可能是07/09/2014
或07.09.2014
而不是09-07-2014
。
我怎样才能轻易地阻止它根据文化转换它并将其视为文字字符串?
使用CultureInfo.InvariantCulture
作为culture或provider参数。
String.Format(CultureInfo.InvariantCulture, "{0:M-d-yyyy}", DateTime.Now)
使用CultureInfo.InvariantCulture
作为IFormatProvider
参数:
DateTime.Now.ToString("M-d-yyyy", CultureInfo.InvariantCulture);
您可以使用以下方法设置程序的文化:
Thread.CurrentThread.CurrentCulture = System.Globalization.CultureInfo.InvariantCulture;`
如果你愿意,你也可以使用特定的文化(我认为en-US
是你需要的)
使用以下内容:
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);
问候,
您可以使用DateTime
对象上的.ToString()
方法来格式化它,但是您可以使用它。 您的代码看起来像这样:
DateTime.Now.ToString("Md-yyyy");
有关格式化日期时间的更多信息可以在MSDN上找到: http : //msdn.microsoft.com/en-us/library/zdtaw1bw%28v=vs.110%29.aspx
你可以试试date.ToString(“MM / dd / yy”,yyyymmddFormat);
如果您愿意,可以将字符串强制为标准格式
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.