在 MVC 中使用 Bootstrap.TimerPicker 没有选择正确的时间
Using Bootstrap.TimerPicker with MVC not picking the right time
我尝试使用这个组件,但它没有显示正确的时间,当我删除 javascript "timepicker" 它显示了具有正确日期时间的正常输入,但是在使用该组件之后它显示错误的时间。为什么?
It seems to be picking up the date part 20/05. Should I use another
format? Such as TimeSpan instead of DateTime?
MVC 视图
@Html.TextBoxFor(m => m.StartTime, new {@class = "form-control timepicker"})
Javascript
$('.timepicker').timepicker({autoclose: true,minuteStep: 15,showSeconds: false,showMeridian: false});
屏幕
查看
正如您在下面看到的时间不同,这些值是视图的模型。
我找到了解决办法:
Jquery 插件 Bootstrap.Timepicker 必须使用数据类型 TimeSpan
。
将数据类型从 DateTime
更改为 TimeSpan
后,它运行良好。
public TimeSpan StartTime { get; set; }
public TimeSpan? EndTime { get; set; }
Note: When you use a DateTime format it takes the first part of the date, in my example
20/05 was converted to 20:05.
有点晚了,但是使用 Bootstrap DateTimePicker(目前是 v4)时也会出现这个问题。
使用您的示例,以下内容也会生成 20:05;
$(function () {
var timeFormat = "HH:mm";
$('.timepicker').datetimepicker({
format: timeFormat
});
});
但是,将 "HH:mm"
更改为 " HH:mm"
(注意空格)得到了我想要的结果;
$(function () {
var timeFormat = " HH:mm";
$('.timepicker').datetimepicker({
format: timeFormat
});
});
这会根据需要生成 5:10 或 3:17。
我认为这是一个错误,因为它应该可以在没有空格的情况下工作。在错误修复之前,这是一种解决方法。
我尝试使用这个组件,但它没有显示正确的时间,当我删除 javascript "timepicker" 它显示了具有正确日期时间的正常输入,但是在使用该组件之后它显示错误的时间。为什么?
It seems to be picking up the date part 20/05. Should I use another format? Such as TimeSpan instead of DateTime?
MVC 视图
@Html.TextBoxFor(m => m.StartTime, new {@class = "form-control timepicker"})
Javascript
$('.timepicker').timepicker({autoclose: true,minuteStep: 15,showSeconds: false,showMeridian: false});
屏幕
查看
正如您在下面看到的时间不同,这些值是视图的模型。
我找到了解决办法:
Jquery 插件 Bootstrap.Timepicker 必须使用数据类型 TimeSpan
。
将数据类型从 DateTime
更改为 TimeSpan
后,它运行良好。
public TimeSpan StartTime { get; set; }
public TimeSpan? EndTime { get; set; }
Note: When you use a DateTime format it takes the first part of the date, in my example 20/05 was converted to 20:05.
有点晚了,但是使用 Bootstrap DateTimePicker(目前是 v4)时也会出现这个问题。
使用您的示例,以下内容也会生成 20:05;
$(function () {
var timeFormat = "HH:mm";
$('.timepicker').datetimepicker({
format: timeFormat
});
});
但是,将 "HH:mm"
更改为 " HH:mm"
(注意空格)得到了我想要的结果;
$(function () {
var timeFormat = " HH:mm";
$('.timepicker').datetimepicker({
format: timeFormat
});
});
这会根据需要生成 5:10 或 3:17。
我认为这是一个错误,因为它应该可以在没有空格的情况下工作。在错误修复之前,这是一种解决方法。