使用MVC获取DateTime类型数据
本文关键字:类型 数据 DateTime 获取 MVC 使用 | 更新日期: 2023-09-27 18:03:53
需要解决的问题:
- 从MVC应用程序获取时间和日期
我的具体问题:我有一个停车管理应用程序。由于可以提前预定停车位,我需要知道停车的开始时间和日期。对于我的模型,我使用DateTime,因为MSDN将其宣传为全功能的时间和日期数据类型:
. net Framework DateTime类为编写处理时间的程序提供了一个功能齐全的接口。
我的研究:我已经为这类问题搜索了答案或典型解决方案(最佳实践),几乎所有我得到的都是:
- 全球化的问题
- 时区问题
- 不同的日期格式
但是没有考虑如何方便地使用MVC应用程序获取日期和时间。
我找到的最接近的答案是Scott Hanselman 2009年的解决方案- http://www.hanselman.com/blog/SplittingDateTimeUnitTestingASPNETMVCCustomModelBinders.aspx
人们倾向于使用其他解决方案是不同的jQuery插件。
对我来说,这些解决方案似乎有点设计过度。因为我不知道还能问哪里,如果这些是唯一的解决方案或不是-我的问题是:
- 什么是我的选择得到时间和日期与MVC -最佳实践?
在我的模型中我使用:
[DataType(DataType.DateTime), DisplayFormat(DataFormatString = "{0:HH:mm dd/MM/yyyy}", ApplyFormatInEditMode = true)]
public DateTime? ParkingStartTime { get; set; }
在我看来,我使用:
<div class="editor-label">
@Html.LabelFor(vm => vm.newCarOnParkingSpot.ParkingStartTime)
</div>
<div class="editor-field">
@Html.EditorFor(vm => vm.newCarOnParkingSpot.ParkingStartTime)
@Html.ValidationMessageFor(vm => vm.newCarOnParkingSpot.ParkingStartTime)
</div>
这个解决方案给了我一个HTML5日期选择器,但没有时间插入选项:https://i.stack.imgur.com/fGPTV.png
因此,正如@SLC建议的那样,我使用了jQuery。我选择jQuery DateTimePicker http://xdsoft.net/jqplugins/datetimepicker/
根据SLC:
没有最佳实践,jquery日期选择器可以很好地工作,非常简单
他是对的。我在7分钟内解决了我的问题。
我所做的只是:
- 添加jQuery DateTimePicker文件到我的项目(从上面的网站)
- 遵循该网站提供的说明(在cshtml文件中添加了2个脚本和1个css文件,在需要的输入字段中添加了id,并在先前添加的id上调用jQuery函数-瞧!)
- 0分钟获得数据保存到数据库与DateTime数据类型
我觉得有一个地方需要改进的是我的jQuery函数调用。还有比这更好的办法吗?:
<script type="text/javascript">
$(document).ready(function () {
jQuery('#datetimepicker').datetimepicker();
});