我在我的网页上有一个开始时间,开始日期和结束日期,结束时间。我需要确保如果开始日期和结束日期相等,那么结束时间必须大于开始时间如果结束日期大于开始日期,则用户可以随时输入。如何才能实现此验证?使用Javascript比较时间
2
A
回答
6
我会极力推荐类似Datejs的东西。这应该不过给你一个起点:
如果你决定使用Datejs你应该使用解析从Date.parse(startDate)
输入字段的值。查看Getting Started.如果您决定不使用DateJs,则可以将getTime()附加到startTime var。 (例如 - endTime.getTime() < startTime.getTime()
)
var error = '';
// if the start date is after the end date
if (startDate > endDate){
var error = error + 'Your start date is after your end date.';
}
// if the start date and end date are the same -- and end time is before the start time
else if(startDate == endDate && endTime < startTime){
var error = error + 'Your end time is before your start time.';
};
// handle any errors
if(error.length){
alert(error);
};
3
它的好,知道的东西是如何工作的,你可以从这个自己构建不依赖于一个框架中受益。如果您想尝试一下,假设你有你的日期和时间简单的字符串,你可以用这个启动:
var dateStart = "Oct 13, 2010";
var timeStart = "10:13";
var dateEnd = "Nov 11, 2011";
var timeEnd = "14:56";
var startDate = new Date(dateStart + " " + timeStart);
var endDate = new Date(dateEnd + " " + timeEnd);
alert(startDate > endDate);
对于真正的代码中看到http://jsbin.com/oponu3/edit
如果你只是用这个来比较的时候,那么这将工作:
var myDate = "Oct 13, 2010";
var timeStart = "10:13";
var timeEnd = "14:56";
var startDate = new Date(myDate + " " + timeStart);
var endDate = new Date(myDate + " " + timeEnd);
alert(startDate > endDate);
你可以通过检查非法日期值来加强这一点。检查JavaScript的Date对象这样做的W3C参考:http://www.w3schools.com/js/js_obj_date.asp
// calculate difference (added 2012-04-04)
var milliseconds = Math.abs(startDate.getTime() - endDate.getTime());
var seconds = milliseconds/1000;
var minutes = seconds/60;
var hours = minutes/60;
// etc etc etc
相关问题
- 1. Javascript时间比较
- 2. 使用javascript仅比较时间
- 3. Javascript比较时间戳
- 4. 的Javascript时间比较
- 5. javascript日期时间比较
- 6. 比较javascript时间和php时间
- 7. 比较使用Javascript
- 8. 时间比较
- 9. 在javascript中比较系统时间与用户时间
- 10. Javascript比较日期和时间
- 11. 比较日期和时间Javascript
- 12. 在javascript中比较时间和日期
- 13. 如何在JavaScript中比较UTC时间
- 14. 比较PHP/Javascript中的时间戳
- 15. JavaScript的AM/PM时间比较
- 16. Dart与JavaScript的加载时间比较
- 17. Javascript - 比较没有时间的日期
- 18. 如何在JavaScript中比较时间?
- 19. 如何只比较JavaScript中的时间?
- 20. 试图比较时间使用字符串比较
- 21. 比较时在javascript
- 22. 使用Python比较UTC时间和东部时间使用Python
- 23. Bash比较时间使用日期
- 24. MySql的选择使用时间比较
- 25. 使用sql查询比较时间
- 26. 如何比较时间使用vba
- 27. 比较时间使用日期命令
- 28. 使用时间戳比较mysql日期
- 29. 比较使用javasctipt的日期时间
- 30. 时间戳比较
怎么样使用jquery'date插件... – kobe 2010-12-10 07:16:43
是他们`Date`的? – 2010-12-10 07:16:59
这个问题是接近你的问题http://stackoverflow.com/questions/833997/end-date-greater-than-start-date-jquery-validation – kobe 2010-12-10 07:19:48