【发布时间】:2022-12-13 09:30:34
【问题描述】:
我有以下代码行:
getLocaleDateFormat('en-CA', FormatWidth.Long )
我想得到YYYY-MM-DD。我得到MMMM d, y。
我该怎么办?
【问题讨论】:
标签: angular
我有以下代码行:
getLocaleDateFormat('en-CA', FormatWidth.Long )
我想得到YYYY-MM-DD。我得到MMMM d, y。
我该怎么办?
【问题讨论】:
标签: angular
从 Angular 6 开始,您可以使用以下内容:
从'@angular/common'导入{formatDate};
formatDate(new Date(), 'YYYY-MM-DD', 'en');
【讨论】:
import frenchCanadianLocaleData from "@angular/common/locales/fr-CA";
查看返回数组和数组中的第 11 个值。
['y-MM-dd', 'd MMM y', 'd MMMM y', 'EEEE d MMMM y']
看起来 short (1st value) 是正确的,但其余的不是。
时间是数组中的第 12 个值,看起来是正确的:
["HH 'h' mm", "HH 'h' mm 'min' ss 's'", "HH 'h' mm 'min' ss 's' z", "HH 'h' mm 'min' ss 's' zzzz"]
我们需要正确的特定于语言环境的日期和时间格式。
这是对我们有用的: 我们将日期硬编码为短,时间硬编码为中等,并在它们之间放置一个空格。我们忽略了 getLocaleDateTimeFormat 中的数据。
const locale = 'fr-CA';
const dateFormat = getLocaleDateFormat( locale, FormatWidth.Short );
const timeFormat = getLocaleTimeFormat( locale, FormatWidth.Medium );
this.dateTimeFormat = dateFormat + ' ' + timeFormat;
【讨论】: