用JavaScript比较两个日期 [英] Compare two dates with JavaScript

查看:143
本文介绍了用JavaScript比较两个日期的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

有人可以提出一种方法来比较大于,小于,过去使用JavaScript的两个日期的值?这些值将来自文本框。

解决方案

Date对象将执行所需的操作 - 为每个日期构造一个,然后使用> < = > =



== != === !== 运算符需要你使用 date.getTime() code>如

  var d1 = new Date(); 
var d2 = new Date(d1);
var same = d1.getTime()=== d2.getTime();
var notSame = d1.getTime()!== d2.getTime();

要清楚只是检查直接与数据对象的平等将无法正常工作

  var d1 = new Date(); 
var d2 = new Date(d1);

console.log(d1 == d2); //打印错误(错误!)
console.log(d1 === d2); //打印错误(错误!)
console.log(d1!= d2); // print true(wrong!)
console.log(d1!== d2); // print true(wrong!)
console.log(d1.getTime()=== d2.getTime()); //打印真(正确)

我建议您使用下拉列表或某种类似约束形式的日期而不是文本框,而不是你发现自己在输入验证地狱。


Can someone suggest a way to compare the values of two dates greater than, less than, and not in the past using JavaScript? The values will be coming from text boxes.

解决方案

The Date object will do what you want - construct one for each date, then compare them using the >, <, <= or >=.

The ==, !=, ===, and !== operators require you to use date.getTime() as in

var d1 = new Date();
var d2 = new Date(d1);
var same = d1.getTime() === d2.getTime();
var notSame = d1.getTime() !== d2.getTime();

to be clear just checking for equality directly with the data objects won't work

var d1 = new Date();
var d2 = new Date(d1);

console.log(d1 == d2);   // prints false (wrong!) 
console.log(d1 === d2);  // prints false (wrong!)
console.log(d1 != d2);   // prints true  (wrong!)
console.log(d1 !== d2);  // prints true  (wrong!)
console.log(d1.getTime() === d2.getTime()); // prints true (correct)

I suggest you use drop-downs or some similar constrained form of date entry rather than text boxes, though, lest you find yourself in input validation hell.

这篇关于用JavaScript比较两个日期的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆