我正在为我的应用程序使用ng-pick-datetime选择器。我希望所选时间在24小时(15:00而不是下午3:00)显示。当拣货员打开时,时间会正确显示在拣货员中,但一旦被选中,它会将其更改为12小时时间格式。有没有办法将所选时间设置为24小时而不是12小时?
这是我正在使用的选择器的链接: ng-pick-datetime
答案 0 :(得分:1)
放置小时12:自定义格式为false,并且可以正常工作,请参见下面的代码:
map.computeIfAbsent(key, new AtomicInteger(0)).addAndGet(1)
答案 1 :(得分:0)
我知道发布的时间太长了,但这是我的解决方案。当我发现无法直接更改格式时,这更像是一种黑客攻击。
所以我创建了另一个输入字段,它将以24小时格式显示时间,而具有打开时间选择器功能的原始输入将不可见。
HTML:
<div class="position-relative time-parent">
<input type="text" class="form-control original-time-field"
placeholder="Eg: 06:55 (24-Hour)"
name="timeOriginal"
[(ngModel)]="timeOrig"
[readonly]="true" />
<input type="text" class="form-control picker-time-field"
name="depTime" #depTime="ngModel"
[(ngModel)]="timeObj"
[owlDateTime]="dtdp"
[owlDateTimeTrigger]="dtdp"
(dateTimeChange)="onTimeChange($event)"
[readonly]="true"
required />
<owl-date-time #dtdp [pickerType]="'timer'" [hour12Timer]="false"></owl-date-time>
</div>
CSS(注意:下面是SASS):
.time-parent {
.original-time-field,
.picker-time-field {
position: absolute;
top: 0;
left: 0;
}
.original-time-field {
z-index: 2;
}
.picker-time-field {
z-index: 3;
opacity: 0;
}
}
JS:
onTimeChange(evnt) {
this.timeOrig = evnt.value.getHours() + ':' + evnt.value.getMinutes();
}
这对我来说很好,因为这样可以灵活地显示你喜欢的时间。