繁体   English   中英

用JavaScript比较不同格式的日期

[英]Comparing Dates with different formats in Javascript

我正在尝试比较2个在Javascript中具有2种不同格式的日期。

我数据库中的日期是2013-04-21 (date1),数组中的日期在我的Chrome调试器中以以下格式打印: Sun Apr 21 2013 15:37:05 GMT-0400 (Eastern Daylight Time) (date2 )

我只想比较日期部分,而忽略时间: date1 == date2是true。

我该如何格式化日期,以便能够比较它们?

任何帮助是极大的赞赏。

y = date2.getFullYear();
m = date2.getMonth()+1;
m = (m<10)? ('0'+m) : m;
d = date2.getDate();
d2 = y+'-'+m+'-'+d;

if (date1 == d2) {
  // do something
}
date1.toISOString().split("T")[0] == date2.toISOString().split("T")[0]

我们在这里必须更深入一点:我们必须区分存储日期的字符串和可以存储日期并使用日期进行计算的Date对象。

根据您的描述,我猜想date1实际上是字符串“ 2013-04-21”,而date2已经是Date对象。

您可以将date1转换为日期对象:

date1AsObject = new Date("2013-04-21");

然后,您可以计算它们之间的差异:

diff = date2 - date1AsObject

结果将以毫秒为单位。

或者您可以将date2转换为Crayon Violent建议的字符串:

y = date2.getFullYear();
m = date2.getMonth()+1;
d = date2.getDate();
date2AsString = y+'-'+m+'-'+d;

然后您可以比较两个字符串。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM