TimePicker不允许"24:00"?

ric*_*hey 5 android-widget timepicker

我需要创建一个"from ... to"时间选择并为此创建2个TimePicker组件.因为它背后的数据库已存在多年并使用24小时格式,在我的代码中,我正在设置

tpOpenFrom.setIs24HourView(true);
tpOpenTo.setIs24HourView(true);
Run Code Online (Sandbox Code Playgroud)

我现在的问题是,看起来,"24:00"不能被选为"to:"值,因为在"23"(:00)之后,组件将"返回"切换为"00"(:00) ),使得无法确定用户是否忘记进行实际选择,例如"09:00"是否已被输入"从"时间而"00:00"被输入为"到"时间.或者,如果选择"00:00"到"00:00":用户是否忘记输入任何内容,或者他是否打算定义"全天候开放"?

在24小时模式下,TimePicker应该允许输入24:00.ISO 8601中的24小时时钟系统将午夜定义为特殊情况,可称为"00:00"和"24:00",因此TimePicker应允许将小时数设置为24并自动阻止分钟到00.

有没有人知道如何利用TimePicker实现这一目标?

Ale*_*Uhl 3

我在引导时间选择器上遇到了同样的问题,但实施起来并不困难。我正在使用 Joris de Wit 的时间选择器(http://jdewit.github.io/bootstrap-timepicker/)。

搜索“24”并将所有出现的内容替换为“25”,然后在 bootstrap-timepicker.js 中搜索“23”并将其替换为“24”。

如果您想允许像 24:01, .., 24:59 这样的时间,那么您就完成了。如果您只想接受 24:00 而不是带分钟的 24:00,请转到 getTime 函数所在的第 133 行。

将以下代码放在现有的 return 前面(但不要删除它):

if (this.hour == 24 && this.minute != 0) {
  this.setTime('00:' + this.minute);
  return '00:' + this.minute;
}
Run Code Online (Sandbox Code Playgroud)

这会将任何 24:XX 时间转换为 00:XX。