比较两个字符串Date js?

时间:2018-09-19 17:30:01

标签: javascript string date compare

我有两个日期字符串,格式不同:

var date1 = "20/09/2016";//DD/MM/YYYY
var date2 = "Sep 5, 2018 12:00:00 AM"; // MMM DD, YYYY hh:mm:ss AM

如何仅使用DD&MM&YYYY并将两个字符串转换为日期并进行比较?

2 个答案:

答案 0 :(得分:0)

要比较两个日期,必须先将其转换为Date类型。

对于DD/MM/YYYY,我更改了日期和月份的顺序,以便可以由new Date()处理,并且可以直接转换其他日期格式。

之后,您只需要时间就可以根据需要进行比较。另外,如果您只想比较这些字段,则可以使用getYeargetMonthgetDate之类的方法

Date information

var dateParts = "20/09/2016".split("/");

var date1 = new Date(dateParts[2], dateParts[1] - 1, dateParts[0]);
var date2 = new Date("Sep 5, 2018 12:00:00 AM"); // MMM DD, YYYY hh:mm:ss AM

if (date1.getTime() > date2.getTime()){
  console.log("date1 is higher");
}else {
  console.log("date1 is lower");
}

答案 1 :(得分:0)

要进行比较,可以在UTC中使用以下ISO格式构造Date对象,然后使用getTime方法:

var newDate1 = new Date('2016-09-20Z');
var newDate2 = new Date('2018-08-05T12:00:00Z');
var equalDates = newDate2.getTime()===newDate1.getTime();

最后的Z表示应将其解析为UTC。

如果您不能像这样直接构建它们,则应该像解析任何其他字符串一样解析它们。例如,这是解析第一个字符串的方法:

var date1 = "20/09/2016";
var dateArray=date1.split('/');
var newDate1 = new Date(dateArray[2], dateArray[1] - 1, dateArray[0]); //JavaScript counts months from 0

moment.js库也可能对您有用。