如何在 javascript 中比较两种不同的日期格式

How to compare two different date formats in javascript

大家好,我是 javascript 中约会时间的新手。我在比较两种不同的日期格式时遇到了一个问题。 Objective- 我想将来自后端的 date/time 与当前时间进行比较。如果来自后端的时间已经过去了,我需要做一些其他的事情,或者如果是在未来,我想做一些其他的事情。

问题 - 当前日期格式是这样的 - Mon Jan 10 2022 16:38:58 GMT+0530 (India Standard Time) 从后端获取的日期时间就像 - 2022-01-03T18:30:00Z

代码-

 $scope.getTimeDifference = function(meetingsData){
            meetingsData.forEach(function (arrayItem) {
                var currentTime  = new Date();
                var x = arrayItem.meetingTime;
                console.log(x);
                console.log(currentTime)

                if(x < currentTime){
                    console.log("meeting is in the past");
                }
                else{
                    console.log("Meeting is in future");
                }
            });

输出 - 会议在未来

问题 - 使用此代码我得到 meetings in future,但所有会议时间实际上都是过去的时间。我该如何解决这个问题?

new Date 将采用任一格式。

const d1 = new Date("Mon Jan 3 2022 16:38:58 GMT+0530 (India Standard Time)") 
const d2 = new Date("2022-01-03T18:30:00Z")
console.log(d1)
console.log(d2)

if (d1 < d2) console.log("Date 1 is earlier than d2")

// To find hh:mm:ss difference for the same day we can do this. 
console.log(new Date(d2-d1).toISOString().substr(11, 8))

如果您想要天数、小时数等方面的差异,您将需要更多代码,在 SO

中很容易找到