date-fns - 有没有办法获得短日期格式字符串
date-fns - is there a way to get short date format string
我正在使用 date-fns 并试图弄清楚如何从语言环境中获取日期格式字符串。
例如。使用 en-US 语言环境时,我希望得到 'MM/dd/yyyy' 作为结果。
我找到了这个答案 Get Locale Short Date Format using javascript 但是为此编写自己的函数似乎是多余的,因为 date-fns 语言环境已经包含这样的字符串...
您可以将 javascript 的 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
您仍然需要按照其文档的建议创建从语言环境字符串到 date-fns 语言环境模块的映射 https://date-fns.org/v1.9.0/docs/I18n
嗯,阅读 date-fns 源代码回答了我的问题:
import { enGB } from 'date-fns/locale';
let formatString = enGB.formatLong.date({width:"short"});
我正在使用 date-fns 并试图弄清楚如何从语言环境中获取日期格式字符串。 例如。使用 en-US 语言环境时,我希望得到 'MM/dd/yyyy' 作为结果。
我找到了这个答案 Get Locale Short Date Format using javascript 但是为此编写自己的函数似乎是多余的,因为 date-fns 语言环境已经包含这样的字符串...
您可以将 javascript 的 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
您仍然需要按照其文档的建议创建从语言环境字符串到 date-fns 语言环境模块的映射 https://date-fns.org/v1.9.0/docs/I18n
嗯,阅读 date-fns 源代码回答了我的问题:
import { enGB } from 'date-fns/locale';
let formatString = enGB.formatLong.date({width:"short"});