gpt4 book ai didi

javascript - Angular 4 日期选择器语言环境无法正常工作

转载 作者:可可西里 更新时间:2023-11-01 02:24:24 25 4
gpt4 key购买 nike

我正在使用 ng-pick-datetime日期选择器的 UI 组件。我禁用了 readonly 模式,这样输入就可以用键盘输入了。

<owl-date-time name="client_birthday" #client_birthday="ngModel"
[placeHolder]="'DD.MM.YYYY'"
[locale]="ru"
[(ngModel)]="client.client_birthday"
[type]="'calendar'"
[dataType]="'string'"
[dateFormat]="'DD.MM.YYYY'"
[readonlyInput] ="false"
[autoClose] ="true"
[inputId]="'client_birthday'"
></owl-date-time>

我尝试使用 date-fns 应用 RU 语言环境:

ru: any;
ruLocale = require('date-fns/locale/ru');
ngOnInit() {
this.ru = {
firstDayOfWeek: 1,
dayNames: [...],
dayNamesShort: [...],
monthNames: [...],
monthNamesShort: [...],
dateFns: this.ruLocale
};
}

当我输入 dd.mm.yyyy 格式的输入时,选择器将日作为月份,月份作为日,年份就可以了。因此,它识别的唯一格式是 mm.dd.yyyy,这似乎是 us 语言环境。我的日历语言已按预期更改,但是否也可以为 RU 配置日期格式?

如有任何帮助,我将不胜感激。

最佳答案

在 ng-pick-datetime 的输入框中输入日期时,它似乎无法做你想做的事。我完成了 ng-pick-datetime 组件的实现。键入时,给定的输入通过使用 https://date-fns.org/v1.29.0/docs/parse 转换为日期对象这是实现picker.component.ts/src/picker.component.ts Line-1177 Method-parseToDate

/**
* Parse a object to Date object
* @param {any} val
* @return {Date}
* */
private parseToDate( val: any ): Date {
if (!val) {
return;
}

let parsedVal;
if (typeof val === 'string') {
parsedVal = parse(val, this.dateFormat, this.now);
} else {
parsedVal = val;
}

return isValid(parsedVal) ? parsedVal : null;
}

https://github.com/DanielYKPan/date-time-picker在 json 包上使用了 "date-fns": "^2.0.0-alpha.7g"。它有一个参数来传递日期格式来解析日期。

parsedVal = parse(val, this.dateFormat, this.now);

但最新版本的date-fns: "^1.29.0", 没有传递日期格式的参数。所以它在你的项目上也失败了。请阅读https://date-fns.org/v1.29.0/docs/parse

parse(argument, [options])

关于javascript - Angular 4 日期选择器语言环境无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47386011/

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