我正在构建一个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;
最初我使用过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对象,我不知道如何。
有人有任何建议吗?
提前致谢。
答案 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));
请告诉我这是否是你想要的: - )