我有一个表单,用户使用 KendoUI 小部件在该表单上输入日期值。此小部件根据本地电脑的文化设置设置日期。问题是因为在开发环境中,本地电脑和服务器设置为美国文化设置,而在生产环境中设置为英国设置。当代码移动到生产环境时,当用户访问该站点并进入 6 月 1 日时,它会在服务器中保存为 1 月 6 日。服务器具有英国文化。
如何确保无论本地最终用户的文化设置如何,值始终保存在英国文化设置中。代码需要能够处理它。
我有一个表单,用户使用 KendoUI 小部件在该表单上输入日期值。此小部件根据本地电脑的文化设置设置日期。问题是因为在开发环境中,本地电脑和服务器设置为美国文化设置,而在生产环境中设置为英国设置。当代码移动到生产环境时,当用户访问该站点并进入 6 月 1 日时,它会在服务器中保存为 1 月 6 日。服务器具有英国文化。
如何确保无论本地最终用户的文化设置如何,值始终保存在英国文化设置中。代码需要能够处理它。
如果您愿意在 C# 后端执行此操作,我认为这可以帮助您。
DateTime yourdate = DateTime.Now; //Your date here instead of DateTime.Now
System.Globalization.CultureInfo cultureinfo =
new System.Globalization.CultureInfo("en-gb");
DateTime dt = DateTime.Parse(yourdate, cultureinfo);
在https://stackoverflow.com/a/16017691/942855回答了类似的问题
添加以下段web.config ?
<globalization
enableClientBasedCulture="true"
uiCulture="auto"
culture="auto" />
并以 DateTime 格式读取代码中的日期。那不应该给你带来问题。
您还可以借助剑道全球化参考资料<script src="kendo.culture.en-GB.js"></script>
如果您使用的是 Kendo-UI,请尝试阅读有关全球化以及受影响的控件的信息。 http ://docs.kendoui.com/getting-started/framework/globalization/overview :
这是一个依赖于文化信息 Calendar、DatePicker、TimePicker、DateTimePicker、NumericTextBox 的 Widget 列表。
<script type="text/javascript">
//set current to the "UK" culture script
kendo.culture("UK");
</script>