如何在 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
中很容易找到
大家好,我是 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
中很容易找到