【发布时间】:2021-11-17 19:18:14
【问题描述】:
假设我有不同格式的日期,例如“MM/DD/YY”、“DD/MM/YY”、“YY/MM/DD”,我想根据上述任何给定格式比较日期,在JavaScript。类似的东西:
let date1 = "21/04/2021";
let date2 = "25/01/2021";
let format = "DD/MM/YY";
Date(date1, format) > Date(date2, format);
True
Date(date1, format) < Date(date2, format);
False
Date(date1, format) === Date(date2, format);
False
在比较时,两个日期的格式也将相同。除了使用 split('/') 之外,还有更好的方法吗?
【问题讨论】:
-
您可以使用 date-fns 之类的库来解析自定义格式的日期字符串:date-fns.org/v2.25.0/docs/parse
-
不这么认为。在某些时候,必须将 M、D 和 Y 分开,以便可以从中构造一个有效的日期对象(真的很简单)。当然,这需要一个
.split('/')字符串来完成。 -
@Mogzon 我正在寻找的想法仍然无法通过date-fns 实现,因为您必须像
new Date(2014, 1, 11)这样定义日期,然后给出格式,但在我的情况下我不想解析日期。我只想提供日期作为字符串 2014/01/11 然后格式化。 -
另外,目的不是日期转换,而是根据 -1,0,1 进行日期比较的结果。希望现在有意义。谢谢
标签: javascript date-format date-comparison