3

我正在使用 date-fns 并试图弄清楚如何从语言环境中获取日期格式字符串。例如,当使用 en-US 语言环境时,我希望得到 'MM/dd/yyyy' 作为结果。

我找到了这个答案Get Locale Short Date Format using javascript但是为此编写自己的函数似乎是多余的,因为 date-fns 语言环境已经包含这样的字符串......

4

3 回答 3

8

好吧,阅读 date-fns 源代码回答了我的问题:

import { enGB } from 'date-fns/locale';
let formatString = enGB.formatLong.date({width:"short"});
于 2020-01-29T08:01:20.717 回答
2
var dateFns = require("date-fns")
var locale = require("date-fns/locale")

dateFns.format(new Date(), 'P', { locale: locale.enGB }) // 29/01/2020
dateFns.format(new Date(), 'P', { locale: locale.en })   // 01/29/2020

您仍然需要按照文档https://date-fns.org/v1.9.0/docs/I18n的建议创建从语言环境字符串到 date-fns 语言环境模块的映射

于 2020-01-29T07:35:13.873 回答
0

您可以使用Intljavascript 对象DateTimeFormat

let date = new Intl.DateTimeFormat(navigator.language).format(new Date());

console.log(date)

于 2020-01-29T07:27:27.363 回答