【发布时间】:2019-05-07 20:58:26
【问题描述】:
希望将 bootstrap/angular 中加载时的 ISO 日期字符串转换为 'MM/DD/YYYY'
当前加载时日期选择器的外观如下:https://imgur.com/a/GdwnGZZ
我们需要将输入日期输入为“MM/DD/YYYY”,然后转换为 ISO 格式
HTML
<form class="form-inline">
<div class="form-group">
<div class="input-group">
<input class="form-control"
name="dp" [(ngModel)]="model" ngbDatepicker #d="ngbDatepicker"
[min]="minDate"
[max]="maxDate"
[style.width]="inputWidth"
class="form-control"
>
<div class="input-group-append">
<button class="btn btn-outline-secondary" (click)="d.toggle()" type="button">Pick Date
<i class="fa fa-calendar"></i>
</button>
</div>
</div>
</div>
</form>
{{model.toISOString().substring(0,10)}}
TS
import {Component, Input} from '@angular/core';
import {NgbDateAdapter, NgbDateNativeAdapter} from '@ng-bootstrap/ng-bootstrap';
@Component({
selector: 'datepicker',
templateUrl: './datepicker-popup.html',
providers: [{provide: NgbDateAdapter, useClass: NgbDateNativeAdapter}]
})
export class NgbdDatepickerPopup {
model: Date;
@Input() disabled = false;
@Input() required = false;
@Input() displayValidation = false;
@Input() minDate = null;
@Input() maxDate = null;
@Input() public inputWidth = '135px';
dateInputMask = [/\d/, /\d/, '/', /\d/, /\d/, '/', /\d/, /\d/, /\d/, /\d/];
@Input() private format = 'YYYY-MM-DD';
private inFormat = 'MM/DD/YYYY' || 'YYYY-MM-DD';
}
目前 ISO 格式运行良好,但我们需要用户能够开始输入 'MM/DD/YYYY' 格式
【问题讨论】:
标签: angular bootstrap-4