从Drop Downs添加时间值到DatePicker值

时间:2015-02-23 14:08:15

标签: c# asp.net-mvc datetime jquery-ui-datepicker

我正在构建一个MVC 5 Web应用程序。在其中一个Razor Views中,我使用JQuery DatePicker从日历中选择日期。然后我有两个下拉菜单,一个列出24小时时钟的每小时,另一个列出分钟值,即1 - 60。



<select id="startDateHours" name="startDateHours"><option value="00:00">00:00</option>
<option value="01:00">01:00</option>
<option value="02:00">02:00</option>
<option value="03:00">03:00</option>
<option value="04:00">04:00</option>
...
...
<option value="21:00">21:00</option>
<option value="22:00">22:00</option>
<option value="23:00">23:00</option>
</select>

<select id="startDateMinutes" name="startDateMinutes"><option value="0">0</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
...
...
<option value="57">57</option>
<option value="58">58</option>
<option value="59">59</option>
<option value="60">60</option>
</select>
&#13;
&#13;
&#13;

最初我使用过JQuery DateTimePicker,但我的客户端发现该插件难以使用。

我需要从DatePicker获取值并将其与两个下拉列表中的选定值组合,以便创建一个DateTime值,然后我可以将其插入到我的SQL Server数据库表中。

在我的MVC控制器中,我可以检索像这样的值

[HttpPost]
public ActionResult Create(ViewModel model)
{
     DateTime _date = model.StartDate //Value from DatePicker
     String _hour = model.StartDateHour //Value from drop down for hour
     String _min = model.StartDateMinute //Value from drop down for minute

     //Create DateTime object using values above
}

现在我需要将3个值组合起来创建一个DateTime对象,我不知道如何。

有人有任何建议吗?

提前致谢。

2 个答案:

答案 0 :(得分:3)

您可以使用以下重载创建新的DateTime:

new DateTime(year, month, day, hour, minute, second)

示例:

var myDate = new DateTime(model.StartDate.Year, model.StartDate.Month, model.StartDate.Day, _hour, _min, 0);

答案 1 :(得分:1)

我想如果你没有其他方法来获取所需的数据,这应该可以解决问题。

我假设当你得到它时_date的时间是0:00。否则你可能想先设置它。

但是在评论的范围内,请执行以下操作:

date = _date.Add(TimeFrame.Parse(_hour));
date = _date.AddMinutes(double.Parse(_min));

请告诉我这是否是你想要的: - )