我正在使用 ng bootstrap datepicker。我想在输入标签中设置日期格式 这是我的HTML代码
<input (click)="d.toggle()" type="text" [formControl]="updateEventForm.controls['live_date']"
value="{{dispalyLiveDate | date: 'd/M/yy'}}" ngbDatepicker #d="ngbDatepicker">
此处{{dispalyLiveDate | date: 'd/M/yy'}}
是我的默认值,当选择日期时,日期格式会转换为yyyy-M-dd
,我希望此日期格式与d/M/yy
相同
我已阅读文档并找到方法format(date: NgbDateStruct)
但不知道如何使用它
是否可以将默认日期格式直接转换为输入标记(不转换为组件)?
答案 0 :(得分:0)
如果你有任何格式的日期,你可以使用这个在html中感兴趣的格式绘制它:
{{order.flight.date | date: 'dd/MM/yyyy'}}
其中'order.flight.date'是存储日期的对象。
重要的是不要失败,因为格式与我们想要获得的格式不同。
我没有找到一种方法将日期格式化为所需的格式,然后再将其存储起来,而不是手动执行:
// Analyze and change the date format
parseDate(date) {
let result = date;
if (date != null) {
if (date instanceof Date === false) {
const parts = date.split('/');
result = new Date(parts[2], parts[1] - 1, parts[0]);
}
}
return result;
}
我使用的语言是Angular 5.
在ngx-bootstrap中,您可以指定格式:
<input
class="form-control"
[minDate]="minDate"
[maxDate]="maxDate"
#dpYMD="bsDatepicker"
bsDatepicker
formControlName="myDateYMD"
[bsConfig]="{ dateInputFormat: 'YYYY-MM-DD' }">