asp.net中的日期格式与控制台应用程序中的日期格式
我正在将.NET应用程序部署到另一台计算机 在控制台应用程序中asp.net中的日期格式与控制台应用程序中的日期格式,.net,datetime,format,culture,.net,Datetime,Format,Culture,我正在将.NET应用程序部署到另一台计算机 在控制台应用程序中 DateTime.Today.ToLongDateString(); 是 而在web应用程序中,值为 23 ذو الحجة 1430 < equivalent in higri calendar 23ذوالحج㶡1430
DateTime.Today.ToLongDateString();
是
而在web应用程序中,值为
23 ذو الحجة 1430 < equivalent in higri calendar
23ذوالحج㶡1430<等同于希格里历法
web应用程序是如何从计算机中获取文化的,为什么它与控制台应用程序不同?它是从计算机中获取文化的。看看你如何改变它。这可能是机器本身的文化-你说你正在部署到另一台机器 你希望它处于哪种文化中 编辑:您的选项包括:
- 设置计算机本身的区域性,影响整个窗口
- 通常可能为.NET设置区域性-我不确定machine.config中是否有此功能。这不是我做过的事
- 设置每个页面的区域性
- 无论何时解析或格式化字符串,都要显式指定区域性
老实说,最后一个是入侵性最小的。像
String.Parse
等大多数方法都有一个带有IFormatProvider
参数的重载。您可以将其指定为相关的CultureInfo
我得到了答案!这可能是ASPNET或IIS用户的注册表记录之一。通过使用regedit,我在其中一个用户international=阿拉伯语中找到了
Thread.CurrentThread.CurrentCulture = new CultureInfo("en-US");
DateTime.Today.ToLongDateString();
感谢:
在web.config或machine.config中,可以通过元素指定ASP.Net应用程序的默认区域性
我希望区域性与控制台应用程序中的“en-US”相同。从哪里可以设置web应用程序的区域性?恐怕我不想从代码中更改区域性。我更想了解机器本身的语言环境设置。谢谢
Thread.CurrentThread.CurrentCulture = new CultureInfo("en-US");
DateTime.Today.ToLongDateString();
<configuration>
<system.web>
<globalization
culture="en-US"/>
</system.web>
</configuration>