本地化日期 fns
Localize date-fns
我有一个 date-fns 的工作解决方案,使用以下方法:
const formatMonth = format("MMM");
然后我导入了语言环境并尝试了以下操作:
import { de } from 'date-fns/locale';
const formatMonth = format("MMM", {locale: de});
收到错误:RangeError:无效的时间值。如何将语言更改为德语?文档有点建议完全相同,但它不起作用。
编辑: 也许这是相关的并展示了为什么格式不需要新的 Date():
const months = eachMonthOfInterval({
start: startOfYear(value),
end: endOfYear(value)
});
{months.map((month) => (
<ListboxOption
key={month.toDateString()}
value={month}
date={formatMonth(month)}
disabled={!isOlderThen18Years(month)}
></ListboxOption>
))}
此外,此代码在代码沙箱中有效,但在我的 React 应用程序中无效。仍然抛出错误:RangeError:无效的时间值。
import { format } from 'date-fns';
import { de } from 'date-fns/locale';
const date = new Date();
console.log( format(
date, 'MMM',
{ awareOfUnicodeTokens: true, locale: de}
) );
您需要将日期作为第一个参数传递。例如,
const formatMonth = format(new Date(),"MMM", {locale: de}); <br>
或
const formatMonth = format(new Date(10/28/2021),"MMM", {locale: de});
当您使用 FP 版本格式化日期时,您需要使用 formatWithOptions
函数来传递语言环境选项。
import format from "date-fns/fp/formatWithOptions";
它的函数签名与 format
函数略有不同,您需要将选项作为第一个参数传递。
const formatMonth = format({ locale: de }, "MMM");
我有一个 date-fns 的工作解决方案,使用以下方法:
const formatMonth = format("MMM");
然后我导入了语言环境并尝试了以下操作:
import { de } from 'date-fns/locale';
const formatMonth = format("MMM", {locale: de});
收到错误:RangeError:无效的时间值。如何将语言更改为德语?文档有点建议完全相同,但它不起作用。
编辑: 也许这是相关的并展示了为什么格式不需要新的 Date():
const months = eachMonthOfInterval({
start: startOfYear(value),
end: endOfYear(value)
});
{months.map((month) => (
<ListboxOption
key={month.toDateString()}
value={month}
date={formatMonth(month)}
disabled={!isOlderThen18Years(month)}
></ListboxOption>
))}
此外,此代码在代码沙箱中有效,但在我的 React 应用程序中无效。仍然抛出错误:RangeError:无效的时间值。
import { format } from 'date-fns';
import { de } from 'date-fns/locale';
const date = new Date();
console.log( format(
date, 'MMM',
{ awareOfUnicodeTokens: true, locale: de}
) );
您需要将日期作为第一个参数传递。例如,
const formatMonth = format(new Date(),"MMM", {locale: de}); <br>
或
const formatMonth = format(new Date(10/28/2021),"MMM", {locale: de});
当您使用 FP 版本格式化日期时,您需要使用 formatWithOptions
函数来传递语言环境选项。
import format from "date-fns/fp/formatWithOptions";
它的函数签名与 format
函数略有不同,您需要将选项作为第一个参数传递。
const formatMonth = format({ locale: de }, "MMM");