使用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


使用MVC获取DateTime类型数据

这是我的第一个问题,所以如果我误解了这个问题,请不要客气。

因此,正如@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();
});