繁体   English   中英

ASP.NET MVC和SQL SERVER中的DateTime全球化

[英]DateTime Globalization in ASP.NET MVC and SQL SERVER

在我的ASP.NET MVC应用程序中,ModelState始终无效,并显示以下错误消息: "The value '5/23/2015 7:29:37 AM' is not valid for Register Date."

我正在尝试针对波斯文化对我的应用进行本地化,因此我在web.config中将uiCultureculture设置为fa-IR 不过, DateTime.Now不会返回本地化日期。

全球化DateTime的正确方法是什么? 我应该将本地化日期存储在数据库中吗? 还是本地化版本仅用于视图?

看来我应该将本地化版本存储在DB中,如何获得波斯文化的版本?

更新:

看来我无法直接获得当前波斯语的日期,而必须按照MSDN中的说明进行转换:

您不能将PersianCalendar对象用作区域性的默认日历。 默认日历由CultureInfo.Calendar属性指定,并且必须是CultureInfo.OptionalCalendars属性返回的日历之一。 当前,对于CultureInfo类支持的任何区域性,PersianCalendar类都不是可选日历,因此不能是默认日历。

不知道如何添加错误消息,该如何解决?

建议您在客户端而不是服务器或数据库端本地化日期。 这样,您将永远不受特定文化的束缚。 例如,您的日期可以这样表示:“ 2015-05-23T7:29:37Z”。

我还建议您保存并发送UTC时间。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM