Welcome to ShenZhenJia Knowledge Sharing Community for programmer and developer-Open, Learning and Share
menu search
person
Welcome To Ask or Share your Answers For Others

Categories

I'm comparing UTC dates and getting this very weird result.

now is definitely bigger than start as far as I can tell, yet the statement returns false.

var start = new Date('2021-01-29T21:00:00.000Z');
var now   = new Date('2021-01-29T00:16:47.797Z');

console.log(now >= start); //false
question from:https://stackoverflow.com/questions/65947371/javascript-utc-date-comparison-bug

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
thumb_up_alt 0 like thumb_down_alt 0 dislike
261 views
Welcome To Ask or Share your Answers For Others

1 Answer

Youre comparing 12:16:47 in the morning, or 45 minutes till 1am against 9pm in the same day. Chronologically this makes perfect sense. If you were to change "now" to the day after, referencing 12:16am of the following day, it returns true.

var start = new Date('2021-01-29T21:00:00.000Z');
var now = new Date('2021-01-29T00:16:47.797Z');

console.log(now >= start); //false

var start = new Date('2021-01-29T21:00:00.000Z');
var now = new Date('2021-01-30T00:16:47.797Z');

console.log(now >= start); //true

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
thumb_up_alt 0 like thumb_down_alt 0 dislike
Welcome to ShenZhenJia Knowledge Sharing Community for programmer and developer-Open, Learning and Share
...