gpt4 book ai didi

Angular Material 日期选择器输入将日期视为美国格式

转载 作者:行者123 更新时间:2023-12-02 16:16:48 31 4
gpt4 key购买 nike

在输入字段中填充日期时(不是通过日期选择器本身),日期被视为美国格式。例如,在输入字段中输入 - 10/01/2019 后,它会变为 01/10/2019,打开日期选择器时,日期为 2019 年 10 月 1 日。

通过日期选择器选择日期时没有问题,所选日期显示为 dd/MM/yyyy

最佳答案

更新格式函数中有一个“错误” - 在 ('0'+(date.getMonth()+1)).slice(-2)- 中需要括号 -

只需创建一个 DateAdapter

import {NativeDateAdapter,DateAdapter} from '@angular/material';

export class MyDateAdapter extends NativeDateAdapter{
parse(value: string) {
let it=value.split('/');
if (it.length==3)
return new Date(+it[2],+it[1]-1,+it[0],12)
}

format(date: Date, displayFormat: Object) {
return ('0'+date.getDate()).slice(-2)+'/'+
('0'+(date.getMonth()+1)).slice(-2)+'/'+date.getFullYear()
}
}

然后用作提供者

@Component({
selector: 'datepicker-formats-example',
templateUrl: 'datepicker-formats-example.html',
styleUrls: ['datepicker-formats-example.css'],
providers: [
{provide: DateAdapter, useClass: MyDateAdapter}
],

})
export class DatepickerFormatsExample {
date = new FormControl(new Date(Date.now()));
}

参见

stackblitz

关于Angular Material 日期选择器输入将日期视为美国格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54113765/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com