在 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});

屏幕

查看

正如您在下面看到的时间不同,这些值是视图的模型。

http://jdewit.github.io/bootstrap-timepicker/

我找到了解决办法:

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:103:17

我认为这是一个错误,因为它应该可以在没有空格的情况下工作。在错误修复之前,这是一种解决方法。