为什么只显示日期而不显示时间?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (58)

在MVrazor中,我将当前日期放入数据库中,像这样..

model.Returndate = DateTime.Now.Date.ToShortDateString();

由于数据库字段是一个日期时间数据类型,我将当前日期转换为字符串格式,这是行不通的。我怎么能做到这一点?我在做字符串格式,因为我希望日期的格式为mm / dd / yyyy,而不是mm / dd / yyyy hh:mm:ss时间格式。

编辑:

在我拥有的控制器中

var model = new ViewModel();
model.ReturnDate = DateTime.Now;            
return PartialView("PartialView", model);  

我有

@Html.EditorFor(model => model.Returndate)

这是它将日期显示为日期和时间的地方......我只想显示日期。

提问于
用户回答回答于

如果在SQL中列类型是datetime,那么它将存储一个时间,你可以在其中传递一个或不传递一个。

最好正确地保存日期:

model.ReturnDate = DateTime.Now;

然后,当需要显示它时,将其格式化:

@Html.Label(Model.ReturnDate.ToShortDateString())

或者如果你在使用EditorFor:

@Html.EditorFor(model => model.ReturnDate.ToShortDateString())

@Html.EditorFor(model => model.ReturnDate.ToString("MM/dd/yyyy"))

若要向模型添加属性,请添加以下代码:

public string ReturnDateForDisplay
{
    get
    {
       return this.ReturnDate.ToString("d");
    }
}

然后在你的PartialView中:

@Html.EditorFor(model => model.ReturnDateForDisplay)
用户回答回答于

找到了一种非常简单的方法来完成这个任务,只需在模型中注释你的属性,如下所示:

[DataType(DataType.Date)]
public DateTime? SomeDateProperty { get; set; }

它也会将时间按钮隐藏在日期选择器中。

扫码关注云+社区

领取腾讯云代金券