将下拉列表中的时间值添加到 DatePicker 值

Add Time Values From Drop Downs To DatePicker Value

我正在构建 MVC 5 Web 应用程序。在其中一个 Razor 视图中,我使用 JQuery DatePicker 来 select 来自日历的日期。然后我有两个下拉菜单,一个列出 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>

最初我使用的是 JQuery DateTimePicker,但我的客户发现这个插件很难用。

我需要从 DatePicker 中获取值并将其与两个下拉列表中的 selected 值组合,以创建一个 DateTime 值,然后我可以将该值插入我的 SQL服务器数据库 table.

在我的 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 对象,但我不知道该怎么做。

有人有什么建议吗?

提前致谢。

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

我假设 _date 在您获取时具有时间 0:00。否则你可能想先设置它。

但在评论行中,只需执行以下操作:

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

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

您可以使用以下重载创建新的 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);