我正在使用date-fns,并尝试弄清如何从区域设置中获取日期格式字符串。例如,使用en-US区域设置时,我想要的结果是“MM/dd/yyyy”。
我在这个答案Get Locale Short Date Format using javascript中找到了方法,但似乎写自己的函数是多余的,因为date-fns区域设置已经包含了这样的字符串...
我正在使用date-fns,并尝试弄清如何从区域设置中获取日期格式字符串。例如,使用en-US区域设置时,我想要的结果是“MM/dd/yyyy”。
我在这个答案Get Locale Short Date Format using javascript中找到了方法,但似乎写自己的函数是多余的,因为date-fns区域设置已经包含了这样的字符串...
好的,阅读 date-fns 的源代码回答了我的问题:
import { enGB } from 'date-fns/locale';
let formatString = enGB.formatLong.date({width:"short"});
Intl
对象和 DateTimeFormat
来处理日期格式:
let date = new Intl.DateTimeFormat(navigator.language).format(new Date());
console.log(date)
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