我有一个代码将开始日期 toUTCString
和结束日期 toUTCString
存储在一个表中。
当我在控制台 javascript 中调试代码时,出现了一些奇怪的行为。
控制台输出
var startdate = new Date($("#smdatestart").val()).toUTCString();
var enddate = new Date($("#smdateend").val()).toUTCString();
var now = new Date();
var currUTCDate = now.toUTCString();//current datetime
startdate //starting date
"Mon, 02 Dec 2013 07:30:00 GMT" //in UTC
currUTCDate // current date
"Mon, 02 Dec 2013 07:15:16 GMT" //in UTC
enddate // ending date
"Sun, 01 Dec 2013 18:30:00 GMT" //in UTC
currUTCDate > enddate //should be true but showing false
false
startdate > enddate //should be true but showing false
false
startdate > currUTCDate // this output is correct
true
最佳答案
var startdate = new Date('Mon, 02 Dec 2013 07:30:00 GMT');
var enddate = new Date('Sun, 01 Dec 2013 18:30:00 GMT');
var currUTCDate = new Date('Mon, 02 Dec 2013 07:15:16 GMT');
startdate > enddate // true
currUTCDate > enddate // true
任何涉及'='
的内容都应该使用'+'
前缀。然后它将比较 dates 毫秒
值。
+startdate <= +currUTCDate ; => true
+startdate >= +currUTCDate ; => true
+startdate === +currUTCDate ; => true
关于Javascript 日期时间问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20322974/