我将为您翻译以下内容:
请注意,第二个示例中,英语中月份在日期之前,而西班牙语中日期在月份之前。这正是您希望区域设置代码为您处理的内容。这就是几乎所有日期时间库(C++、C#、Java、Python等)中区域设置的工作方式。
在DateFns中,似乎没有适用于本地化正确的长日期、短日期、时间等的格式选项。他们提供的使用区域设置的示例需要您传递区域设置特定的格式字符串:
换句话说,我需要了解我支持的每个语言环境的日期/时间格式,这违背了首先拥有语言环境支持的目的。
我可以使用JavaScript的toLocaleString,但那样我的应用程序就要以两种不同的方式管理语言环境。
有没有某种方法可以打印出特定语言环境的“短日期”,而无需告诉DateFns该语言环境的格式?
我正在评估DateFns和Moment在我们应用程序的上下文中,发现了一个在DateFns中似乎很重要的遗漏。
在Moment中,本地化支持允许您格式化日期或时间的本地化正确表示。例如,日期格式“LL”和“L”将为英语区域设置产生以下结果:
November 27, 2017
11/27/2017
以下是西班牙语区域的内容:
27 de noviembre de 2017
27/11/2017
请注意,第二个示例中,英语中月份在日期之前,而西班牙语中日期在月份之前。这正是您希望区域设置代码为您处理的内容。这就是几乎所有日期时间库(C++、C#、Java、Python等)中区域设置的工作方式。
在DateFns中,似乎没有适用于本地化正确的长日期、短日期、时间等的格式选项。他们提供的使用区域设置的示例需要您传递区域设置特定的格式字符串:
// Represent 2 July 2014 in Esperanto:
var eoLocale = require('date-fns/locale/eo')
var result = format(
new Date(2014, 6, 2),
'Do [de] MMMM YYYY',
{locale: eoLocale}
)
换句话说,我需要了解我支持的每个语言环境的日期/时间格式,这违背了首先拥有语言环境支持的目的。
我可以使用JavaScript的toLocaleString,但那样我的应用程序就要以两种不同的方式管理语言环境。
有没有某种方法可以打印出特定语言环境的“短日期”,而无需告诉DateFns该语言环境的格式?
date-fns@2.0.0
中可用(尚未发布,正在进行alpha-7版本)https://date-fns.org/v2.0.0-alpha.7/docs/format - Flo Schild