开始日期小于结束日期
start date is less than end date?
以下代码在任何开始时间和结束时间都可以正常工作,但当我给出结束时间为上午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点(例如,请参阅此处),这些术语的整个定义(前子午线和后子午线)意味着12点时间本身既不是上午也不是下午。
对于第一种情况,它无疑是正确的。无论是13日上午12点,还是12日至13日午夜,晚上7点都会更大。
第二种情况是,你可以说下午12点代表13日中午,也可以说13日至14日午夜。在前一种情况下,它再次是正确的。后一种情况则不然。
最好的办法可能是看看晚上12点和12点01分(一分钟或不到12小时)之间有什么区别。这将告诉你它是如何解读下午12点的。
这可能会帮助您:
// This represents: Thu Nov 13 2013 19:00:00 GMT-0500 (EST)
var date1 = new Date('November 13, 2013 07:00 PM');
// This represents: Thu Nov 13 2013 12:00:00 GMT-0500 (EST)
var date2 = new Date('November 13, 2013 12:00 PM');
// This represents: Thu Nov 13 2013 00:00:00 GMT-0500 (EST)
var date3 = new Date('November 13, 2013 12:00 AM'):
因此:
date1 > date2 > date3;
如果你将数字转换为24小时的对应数字,这可能会更有直观意义。
如果你这样做了,
上午12:00变为00:00。中午12:00变为12:00。晚上7:00变为19:00。
因此,00:00<12:00<19:00和12:00 AM<12:00 PM<晚上7:00。因此,在这种情况下,您从开始的始终大于从到。
换句话说,它按预期工作:)
相关文章:
- 希望日期开始结束于while循环中的一个房间id的一个数组
- 使用javascript&自定义验证器检查开始日期和结束日期
- 如何在dhtmlxgantt中显示灯箱中的开始日期、结束日期和持续时间
- 如何在javascript中获得给定的月份开始日期和结束日期
- 在选择开始日期后设置结束日期
- JavaScript-计算两个日期之间的天数(包括结束日期)
- 基础日期选择器、结束日期(和时间)不能早于开始日期(和时间)
- 结束日期作为基础日期时间选择器中的选定开始日期
- 开始日期和结束日期输入字段的 JQuery 筛选器表
- 在ExtJS中获取开始/结束日期之间的日期
- 转换mysql的Fullcalendar开始/结束日期
- angularjs提交表单中的开始日期结束日期验证应被禁用
- Jquery FullCalendar扩展开始日期或结束日期
- 从jquery中的开始日期计算结束日期
- 检查开始日期是否小于结束日期(不使用任何pluguin)
- 如何在引导程序中比较结束日期和开始日期,以确保结束日期大于开始日期
- JSON Linq.js 筛选开始日期结束日期列
- Jquery UI日期起始日期和日期结束字段验证
- 比较日期——结束日期应该大于开始日期
- j使用时区/开始日期/结束日期查询进度条