如何使输入类型 TIME 24 小时格式?

Posted

技术标签:

【中文标题】如何使输入类型 TIME 24 小时格式?【英文标题】:How To Make Input Type TIME 24-hr Format? 【发布时间】:2019-07-25 11:12:36 【问题描述】:

我有这个使用 Angular Material 的 Angular 7 项目。我还在输入标签 (html5) 中使用了时间类型

<input type="time">

但我希望它是 24 小时格式(不显示 AM/PM 选项)。我一直在寻找解决方案,但没有一个适合 Angular Material 项目。

【问题讨论】:

agranom.github.io/ngx-material-timepicker 呢? 我会试试这个,但它似乎只有 AM/PM 选项。谢谢 他们也有 24 种格式的例子 谢谢。我会回复你,以防它不起作用;) 【参考方案1】:

虽然我真正要寻找的时间选择器与 HTML5 中的时间选择器类似,但没有 AM/PM,但我使用了 @MoshFeu 的建议,即 Ngx Material Timepicker

<mat-form-field>
  <input matInput class="timepicker" [ngxTimepicker]="pickerTwo" [format]=24 placeholder="End" [(ngModel)]="data.formData.end">
</mat-form-field>


<ngx-material-timepicker 
    #picker
    [enableKeyboardInput]=true>
</ngx-material-timepicker>

Popup Timepicker:时间可以通过中间的静态冒号进行编辑(不仅仅是选择时钟中的数字)。还具有 24 小时格式的验证,可以按向上或向下键进行递增和递减。

对于 CSS,您可以在类中使用 :host /deep/ 更改颜色

例子:

:host /deep/ .timepicker__header 
    background-color: #FF7043 !important;

【讨论】:

The documentation 没有显示将&lt;input&gt; 放在&lt;mat-form-field&gt; 中,但我无法让它工作,直到我这样做。 你需要输入域来触发这个时钟 对,我有输入,这是我缺少的 mat-form-field,文档中没有显示【参考方案2】:
<input matInput type="time-24" [(ngModel)]="timemodel.start"> 

这解决了我的问题。 这使得在 Chrome 和 FireFox 上都可以输入 24 小时格式的时间。

【讨论】:

我看到您正在尝试弄清楚如何内联显示您的标记。在代码前后的行上使用三个反引号 (`) 将其显示为代码块。或者将您的标记缩进四个空格。还有一些 UI 控件可以帮助解决这个问题。 这对我不起作用。 type="time" 显示带有 AM/PM 的时间选择器。但是type="time-24" 没有给我任何东西,并且完全删除了时间选择器。

以上是关于如何使输入类型 TIME 24 小时格式?的主要内容,如果未能解决你的问题,请参考以下文章

如何更改时间格式?

将整数转换为24小时格式C ++

如何格式化 struts-dojo datetimepicker 以显示 24 小时而不是 12 小时?

如何在 Oracle 中将毫秒转换为 hh mm ss 格式

如何将 tktimepicker 默认时钟类型从 12 小时更改为 24 小时?

SQL (HUE) : 有没有办法将 24 小时时间转换为 12 小时 AM / PM 格式与小时桶