date-fns - 有没有办法获取短日期格式字符串

Posted

技术标签:

【中文标题】date-fns - 有没有办法获取短日期格式字符串【英文标题】:date-fns - is there a way to get short date format string 【发布时间】:2020-05-14 15:56:00 【问题描述】:

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

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

【问题讨论】:

【参考方案1】:

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

import  enGB  from 'date-fns/locale';
let formatString = enGB.formatLong.date(width:"short");

【讨论】:

【参考方案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 语言环境模块的映射

【讨论】:

【参考方案3】:

您可以将Intl javascript 对象与DateTimeFormat 一起使用:

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

console.log(date)

【讨论】:

以上是关于date-fns - 有没有办法获取短日期格式字符串的主要内容,如果未能解决你的问题,请参考以下文章

使用 ISO-8601 格式的 date-fns 获取当前日期

获取 date-fns 中两个日期之间的持续时间,以天:小时:分钟:秒格式

Date-fns 返回不正确的日期

使用 date-fns 2.x 版时,如何将日期时间格式化为 am/pm,不带句点?

如何使用 date-fns 格式化日期?

接收字符串并使用 date-fns 验证它是不是是有效日期