将下拉列表中的时间值添加到 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);
我正在构建 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);