如何使用ASP.NET MVC 5数据注释“DataType.Time?”仅在没有日期的情况下节省时间

时间:2014-07-11 08:43:36

标签: c# asp.net-mvc-5

我的模型类看起来像这样:

 [DataType(DataType.Time)]
 public DateTime Time {get; set;}

当我运行它时,我有一个很酷的HTML 5输入类型的时间。保存数据时,我的数据库中的值如下所示:

 7/11/2014 1:00AM

它会自动保存当前日期。我只想节省时间。我正在尝试创建一个预订系统。

5 个答案:

答案 0 :(得分:2)

[DataType(DataType.Time)]
[DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:HH:mm}")]
public DateTime Hour { get; set; }

答案 1 :(得分:1)

在这种情况下,您需要将其存储为字符串。您无法使用.Net的BCL(基类库)将TimeDate分开。它们不能作为独立实体存在。

但是,您可以使用此Representing Time (not date and time) in C#

TimeSpan对象中保存时间的解决方法

答案 2 :(得分:0)

类似的问题提供了一系列您可能喜欢的答案, How do I represent a time only value in .NET? ,但

然而,最重要的问题是你应该在数据库中设置什么类型的时间,这个问题 Best way to store time (hh:mm) in a database 提供更多

以下内容将为您提供DateTime中的字符串表示,但请阅读其他问题和答案,您可能希望以字符串以外的格式保存,以便更轻松地评估查询...

DateTime.Now.ToString("t");

答案 3 :(得分:0)

[DisplayFormat(DataFormatString = "{0:t}")]
public DateTime Time {get; set;}

将仅显示时间

供参考:

<强> MSDN Reference

答案 4 :(得分:-2)

只需将数据类型更改为数据库中的字符串,即可节省时间。