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 - 有没有办法获取短日期格式字符串的主要内容,如果未能解决你的问题,请参考以下文章

sqlServer日期函数转换成短日期

oracle 短日期格式例如今天是(26.6.2009)

将长日期转换为特定的短日期格式

如何从 SQL Server 中的日期返回月份短格式?

MVC3显示日期+短时间无格式字符串

将日期格式化为尽可能短的字符串