在ASP.NET应用程序中,我将文化设置为lv-LV。一切都很好,但默认的短日期格式似乎是“yyyy.mm.dd”。客户希望它是“dd.mm.yyyy”(这实际上是LV标准)。 ASP.NET如何获取特定文化的日期/时间设置?他们如何改变单一文化,而不影响其他文化(应用程序应该是本地化的)?ASP.NET从哪里获取其文化设置?
0
A
回答
3
我曾经有一个类似的问题,并解决它:
DateTimeFormatInfo dtfi = (DateTimeFormatInfo)Thread.CurrentThread.CurrentCulture.DateTimeFormat.Clone();
dtfi.ShortDatePattern = "dd.MM.yyyy";
dtfi.DateSeparator = ".";
Thread.CurrentThread.CurrentCulture.DateTimeFormat = dtfi ;
Thread.CurrentThread.CurrentUICulture.DateTimeFormat = dtfi;
这样,你得到保持所有其他区域设置不同的日期格式。
该代码实际上在我们的页面基类中的OnLoad上运行。我不太确定这是最好的方法。
0
.Net从DateTimeFormatInfo类中获取特定文化的日期/时间设置。您可以使用您修改的DateTimeFormatInfo来设置CultureInfo的DateTimeFormat属性。如果这种文化是当前的文化,那么你可以在CurrentCulture上设置它。无论哪种方式,这只会影响您创建的CultureInfo,并且不会影响任何其他文化。 (任何对CultureInfo.GetCultureInfo(“lv-LV”)的调用都不会选择这些更改,因为这是一个只读副本。)您不一定必须将CultureInfo传递给任何DateTime格式化方法(ToString,ParseExact ) - 您可以传递显式模式或DateTimeFormatInfo。
CultureInfo lvLV = new CultureInfo("lv-LV");
DateTimeFormatInfo lvLVdtfi = (DateTimeFormatInfo) lvLV.DateTimeFormat.Clone();
lvLVdtfi.ShortDatePattern = "dd.MM.yyyy";
lvLV.DateTimeFormat = lvLVdtfi;
DateTime.Now.ToString("d", lvLV); // short date pattern from modified lv-LV CultureInfo
DateTime.Now.ToString("d", lvLVdtfi); // short date pattern from modified DateTimeFormatInfo
DateTime.Now.ToString("dd.MM.yyyy"); // explicit short date pattern
如果LV-LV是当前的Windows文化,那么你可以设置一个用户覆盖(使用intl.cpl区域和语言选项控制面板和自定义格式)和框架会挑这件事。
相关问题
- 1. ASP.Net从哪里获取其呈现的ID?
- 2. ASP.NET开发服务器从哪里获取其图像?
- 3. rJava从哪里获取JDK的位置?
- 4. CultureInfo.CurrentCulture从哪里读取文化
- 5. Firefox和Chrome(等)从哪里获取其地理位置数据?
- 6. WCF测试客户端从哪里获取其配置?
- 7. 从哪里获取TwitterCore?
- 8. Websphere从哪里获取WSDL?
- 9. 我如何知道log4net认为它是从哪里获取其配置文件?
- 10. ConfigurationManager ConnectionStrings在哪里获取其值?
- 11. 从哪里可以从Android获取R.id.container?
- 12. JavaScript从哪里获取新日期()从
- 13. 如果没有加载配置文件,PHP在哪里获取它的设置?
- 14. ASP.Net配置页在哪里?
- 15. ASP.NET设置文化与InitializeCulture
- 16. 为asp.net RangeValidator设置文化
- 17. 我可以控制Eclipse从哪里获取其弹出式javadoc?
- 18. IIS Express从哪里获取其默认applicationhost.config?
- 19. 此char数组从哪里获取其数据?
- 20. mvc httppost函数从哪里获取其参数
- 21. 派生自CustomControl的类从哪里获取其资源?
- 22. NHibernate数字格式问题 - 我在哪里设置文化?
- 23. Netbeans UI设置文件在哪里?
- 24. Git,在哪里放置设计文件?
- 25. actionscript 3.0从哪里获取参数?
- 26. directshow从哪里获取图像尺寸?
- 27. NetServerEnum从哪里获取机器列表?
- 28. 从哪里获取InterClient 2.01源代码?
- 29. Relay从哪里获取GraphQL的Schema?
- 30. vm_stat从哪里获取信息?
这样的事情也在我脑海中浮现。不过这似乎有点......错了。 :D我不喜欢硬编码。也许有一些系统注册表键需要改变该文化或什么的? – 2009-06-10 14:17:56