日期函数无法解析ISO日期

4
使用 date-fns 的 2.0.0-beta.4 版本,我正在努力弄清楚解析 ISO 日期的格式字符串。我的日期字符串如下所示:

2019-08-31T14:36:28.511Z

解析代码如下:
parse(v, 'yyyy-MM-dd', new Date());

这里有一个字符串,无法解析。我也尝试了以下方法:

parse(v, 'yyyy-MM-dd[T]hh:mm:ss.SSSZ', new Date());

这也无法解析,我得到了“无效日期”返回的结果。这个问题实际上是在我正在使用的第三方库中,因此我无法更改它以使用parseISO函数而不是parse函数。


4
你可以将那个 ISO 字符串直接传递给 new Date(isoString) - charlietfl
你能展示完整的代码吗?因为它在控制台上的官方文档中是可以工作的。 - Leo Odishvili
我会创建一个可复现的抱歉,我应该在原始文件中添加。 - Dave3of5
2个回答

4

1
正确答案:
import { format } from 'date-fns';

format(new Date(v), 'yyyy-MM-dd'); // or another desired format

1
这对于iOS(MacOS)+ Safari来说不是一个好主意。 - Anar Salimkhanov
DD 和 dd 有什么区别?另外,为什么 mm 给出错误的值?大小写字母的混淆导致了困惑。 - Steve Tomlin
1
@SteveTomlin 根据文档的说明,两者的区别在于dd表示月份中的日期,例如0102、...、31,而DD表示年份中的日期,例如0102、...、366。请注意左侧填充零,因为使用dD将不会有任何零填充。 - M. Al Jumaily

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