关于以更好的方式处理日期的逻辑

时间:2014-02-20 10:24:01

标签: c# asp.net asp.net-mvc asp.net-mvc-3 asp.net-mvc-4

我将问一个关于处理日期的一个非常基本的问题,但对我来说处理它总是一个问题。我的问题是,有时我们可以选择显示DatePicker。我主要使用 jQueryUI KendoUI 。这没关系,但绑定我主要使用DateTime属性与模型:

型号:

public DateTime? DateOfService { get; set; }

在视图中:

@Html.TextBoxFor(m => m.DateOfService, new { @readonly = "readonly" })
<script>
  $("#DateOfService").datepicker();
</script>

假设在数据库中我有一个可以为空的字段,它是DateTime数据类型。 现在,用户可以将该字段留空,因此我在模型中采用了可以为null的类型属性。假设用户选择日期并点击保存。当用户开始编辑页面时,datePicker也显示“2/18/2014 12:00:00 AM”之类的时间。

如果我在模型中使用属性的字符串时间,那么在保存时转换为DateTime总是成为开销,然后在检索时转换为字符串类型。此外,验证也变得忙乱。

您能否指导我在MVC中使用哪种方法来处理日期的网页?

1 个答案:

答案 0 :(得分:1)

您是否尝试过使用DescriptionAttribute

[DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:dd/MM/yyyy}")]
public DateTime? DateOfService { get; set; }

这应该以适合的格式显示日期。