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

本文关键字:中的 DateTime 全球化 SERVER SQL NET MVC ASP | 更新日期: 2023-09-27 17:50:32

在我的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.OptionsCalendars属性返回的日历之一。目前,PersianCalendar类不是CultureInfo类支持的任何区域性的可选日历,因此不能是默认日历。

但是,我如何知道哪个组件正在添加错误消息,以及如何修复它?

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

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

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