使用date-fns格式化日期

4

我正试图使用 date-fns 库来格式化日期,例如:2021-09-20T12:12:36.166584+02:00,但是它不起作用,正确的方法是什么?

下面是我的代码:

import { format } from 'date-fns'
format(date, 'DD.MM.YYYY')

1
请定义“不起作用”的含义。 - Will Jenkins
请尽量使用小写字母,例如 yyyy-mm-dd - Amir Meimari
2个回答

9

在格式化之前,您需要解析ISO字符串,并使用小写的 ddyyyy

import { format, parseISO } from "date-fns";

const dateFormatted = format(parseISO(date), "dd.MM.yyyy");

1
为什么我们需要在这里使用小写的 ddyyyy - Bryan Lumbantobing
@BryanLumbantobing 请参考下面的 Jan Bouchner 的回答。date-fns 处理格式选项与 moment.js 不同。 - vancy-pants

1
我们需要更多关于问题的信息。
但我猜你想要格式化一个月中的某一天,所以你应该使用“dd”而不是“DD”。
DD = 01、02、...、365、366
dd = 01、02、...、31
并且使用“yyyy”而不是“YYYY”。
你的输入参数“date”应该是一个日期类型:
format(new Date('2021-09-20T12:12:36.166584+02:00'), 'dd.MM.yyyy')

所有的内容都可以在文档中找到(https://date-fns.org/v2.24.0/docs/format)


警告 - MDN强烈反对使用Date构造函数来解析日期字符串 https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/Date#timestamp_string - Will Jenkins

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接