【发布时间】:2016-04-08 05:11:02
【问题描述】:
我的目标是比较开始和结束日期时间的日期加时间。
以下仅处理日期的代码不起作用
var startDate = "22-Apr-2016";
var endDate = "22-Apr-2016";
var stdate = new Date(startDate);
var endate = new Date(endDate);
var startTime = "10:14 AM";
var endTime = "11:14 PM";
var stTime = startTime.substring(0, 5);
var enTime = endTime.substring(0, 5);
var stAMorPM = startTime.substring(6, 8);
var enAMorPM = endTime.substring(6, 8);
if( (stdate > endate)) {
console.log("first date is greater");
}
if((stdate == endate)) {
console.log("Equal dates");
}
更新:
通过连接来比较开始和结束日期时间的日期和时间,这可能不是正确的方法。
var start = "22-Apr-2016"+ " "+startTime;
var end = "22-Apr-2016"+ " "+endTime;
start = new Date(start);
end = new Date(end);
if(start.getTime() > end.getTime()){
console.log("start greater ")
} else if(start.getTime() < end.getTime()) {
console.log("start lesser ")
} else if(start.getTime() == end.getTime()) {
console.log("start equals ")
}
【问题讨论】:
-
@mplungjan 我会将日期和时间作为单独的字段获取。不在一个领域。如果您有示例示例,您可以提供
-
如果浏览器可以处理 new Date("DD-MMM-YYYY") 则只有一个副本,这只是一个开始,因为他需要将 10:14 AM 附加到它
-
@syed — 您可以使用类似here 的函数,注意它会转换为 UTC-0500,但您应该能够解决。如果您在迄今为止的转换方面需要帮助,请发布另一个问题。
标签: javascript