如何根据ASP.NET-MVC
应用中的用户区域设置格式化日期和时间,而无需担心日期的顺序?
例如,我希望:
每个国家/地区都以不同的顺序显示日期。美国首先显示的是月份而不是几天(MMM / dd / yyyy)。在中国的第一年比一个月(yyyy-MMM-dd)(IIRC)。在欧洲,大多数国家都以这种格式显示日期:dd-MMM-yyyy。
然后更不用说用于在每个国家将月份,日期和年份分开的斜杠/破折号。
这当然可以通过无休止的if
/ else
或switch
声明来完成,但是没有更优雅的方法来做到这一点吗?
编辑这是我提出的最佳选择:
var cltr = System.Threading.Thread.CurrentThread.CurrentCulture;
DateTime.Now.ToString(cltr.DateTimeFormat.ShortDatePattern + " " + cltr.DateTimeFormat.ShortTimePattern)
仅以数字显示日期。如何在短月份表示法中更改,但不更改顺序和分隔符等?
答案 0 :(得分:1)
您可以使用CurrentCulture和CurrentCultureInfo获取用户当前使用的文化。
有关详细信息,请参阅:http://msdn.microsoft.com/en-us/library/bz9tc508.aspx
答案 1 :(得分:0)
我认为你在谈论格式化问题。获得DateTime
对象后,就可以根据需要显示它。如果要将日期时间显示为美国格式,则必须在new CultureInfo("en-US")
方法中将IFormatProvider
指定为DateTime.ToString()
。