NgPickDateTime显示军事时间

时间:2018-03-12 18:59:22

标签: datetimepicker angular5

我正在为我的应用程序使用ng-pick-datetime选择器。我希望所选时间在24小时(15:00而不是下午3:00)显示。当拣货员打开时,时间会正确显示在拣货员中,但一旦被选中,它会将其更改为12小时时间格式。有没有办法将所选时间设置为24小时而不是12小时?

enter image description here enter image description here

这是我正在使用的选择器的链接: ng-pick-datetime

2 个答案:

答案 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();
  }

这对我来说很好,因为这样可以灵活地显示你喜欢的时间。