在支持en_Us和nb-NO文化的web mvc5应用程序中,如何处理Datetime对象。 我在模型中有一个ExpiryDate属性。 如何定义ExpDate属性?什么DisplayFormat我必须申请?我如何根据文化将其转换回UI?如何将数据作为有效的日期时间等保存到SQlServer数据库
[DataType(DataType.Date)]
[DisplayFormat(DataFormatString = "{0:DD.MM.YYYY}", ApplyFormatInEditMode = true)]
public Nullable<System.DateTime> ExpDate { get; set; }
这有助于[这不会发生在我身上]。仍然混淆了如何在控制器和内部视图中使用模型同时进行fecthing和保存数据
是否有人知道一些包含这些方面的文章,或者任何人都可以发布一些例子来解决这个问题?
答案 0 :(得分:1)
一般来说,处理这些全球化问题的一个好方法是始终将DateTimes保存为数据库中的UTC,并在业务逻辑级别使用UTC格式。
事实上,直到在用户界面选择要查看的文化(而不仅仅是文化而且还有时区)的渲染时间之前你才知道,最好坚持使用UTC值并使用格式无关的方法,这意味着您不应该将DateTime从/转换为字符串值,而不是在UI中呈现或从数据输入表单中获取它。
如果到目前为止您还没有阅读其他任何内容,我将从这篇文章开始:Beginner's Tutorial on Globalization and Localization in ASP.NET MVC
或简单地通过ASP.NET MVC全球化进行谷歌。
祝你好运