javascript - 开始日期小于结束日期?

标签 javascript jquery

以下代码在任何开始时间和结束时间下都可以正常工作,但是当我给出结束时间上午 12 点或下午 12 点时,以下代码无法给出正确的输出。

var startTime = $("#txtStartTime").val();                 eg. 7:00 PM
var from = new Date("November 13, 2013 " + startTime);
from = from.getTime();                                    eg. 1384349400000
var endTime = $("#txtEndTime").val();                     eg. 12:00 AM or 12:00 PM
var to = new Date("November 13, 2013 " + endTime);
to = to.getTime();                                        eg. 1384281000000
if (from > to || from == to) 
{
     html += "<li>Start-time must be smaller than End-time</li>";

}

例如: 当我给出开始时间 7:00 PM 和结束时间 12:00 AM 或 12:00 PM 时,它显示开始时间必须小于结束时间。 你能告诉我如何修复它吗?

提前致谢。

最佳答案

没有上午 12 点或下午 12 点(例如,参见 here),这些术语的整个定义(午前和午后)意味着 12 点既不是上午也不是下午时间本身。

对于第一种情况,毫无疑问是正确的。无论是 13 日中午 12 点还是 12 日至 13 日午夜,晚上 7 点时间更长。

第二种情况,您可以认为中午 12 点代表 13 日中午或 13 日到 14 日之间的午夜。在前一种情况下,它又是正确的。后一种情况就不那么严重了。

最好的办法可能是看看中午 12 点和中午 12:01 之间有什么区别(一分钟或不到十二个小时)。这将告诉您它如何解释中午 12 点。

关于javascript - 开始日期小于结束日期?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25498116/

相关文章:

javascript - 如何从表中调用按钮?

javascript - 让 onFocus 做几件事

javascript - 在两个解耦的 javascript 模块之间传输数据的 PubSub 模式替代方案

javascript - 是否可以显示所有事件的 jQuery bind()?

jquery - 图像 slider 和 jquery 的循环插件不能一起工作

jquery - 如何停止()动画但允许当前动画完成

javascript - DynamoDB Local 在关闭实例后删除数据

javascript - 为什么filter方法不返回数字0

javascript - 在解析为 JSON 之前执行 JS 配置(对象)

javascript - 为什么 JQuery $.post 提交两次?