Javascript 比较JS中的两个日期
我想将用户的生日与今天的日期进行比较,得到两者之间的天数。他们输入的生日将以1987年2月12日的形式出现在文本输入框中 在我的JS文件中,我有如下代码:Javascript 比较JS中的两个日期,javascript,html,forms,date,Javascript,Html,Forms,Date,我想将用户的生日与今天的日期进行比较,得到两者之间的天数。他们输入的生日将以1987年2月12日的形式出现在文本输入框中 在我的JS文件中,我有如下代码: function validateDOB(element) { var valid = false; var today = new Date(); var dd = today.getDate(); var mm = today.getMonth() + 1; //do that January is NOT represented by
function validateDOB(element) {
var valid = false;
var today = new Date();
var dd = today.getDate();
var mm = today.getMonth() + 1; //do that January is NOT represented by 0!
var yyyy = today.getFullYear();
if (dd < 10) {
dd = '0' + dd
}
if (mm < 10) {
mm = '0' + mm
}
var today = mm + '/' + dd + '/' + yyyy;
alert(today);
if (element.value != today) {
var days = 0;
var difference = 0;
Christmas = new Date("December 25, 2011");
today = new Date();
difference = today - Christmas
days = Math.round(difference / (1000 * 60 * 60 * 24)-1);
alert(days);
valid = true;
}
函数validateDOB(元素){
var-valid=false;
var today=新日期();
var dd=today.getDate();
var mm=today.getMonth()+1;//请确保一月不由0表示!
var yyyy=today.getFullYear();
如果(dd<10){
dd='0'+dd
}
如果(毫米<10){
毫米='0'+毫米
}
var today=mm+'/'+dd+'/'+yyyy;
警报(今日);
如果(element.value!=今天){
风险值天数=0;
var差=0;
圣诞节=新日期(“2011年12月25日”);
今天=新日期();
差异=今天-圣诞节
天数=数学四舍五入(差/(1000*60*60*24)-1);
警报(天);
有效=真;
}
我想比较element.value
,而不是使用“Christmas”…我该怎么做
当我放置
difference=today-element.value
时,它不会显示差异。警报框显示为NaN
,您需要首先将element.value
解析为日期:
difference = today - new Date(element.value);
我编写了一个名为的轻量级日期库来处理类似的内容
var birthday = moment('12/02/1987', 'MM-DD-YYYY');
var inputDate = moment(element.value, 'MM-DD-YYYY');
var diff = birthday.diff(inputDate, 'days');
可能重复@widor no,我的Q是具体的…你的问题是具体的,是的,但这个问题回答了它。@Blender-真正的问题(尽管它的标题)似乎是“为什么
difference=today-元素。value
返回NaN
?”。链接的问题试图确定一个日期是否大于、小于或等于另一个日期。此问题是关于确定两个日期之间的天数。此处已正确进行了日期比较,因此答案没有真正的帮助。真正的答案是在比较.Mo之前将字符串解析为日期Mint为过时的格式化和操作带来了很多痛苦。很棒的工作。瞬间是世界上最好的东西。此刻,瞬间摇滚!非常好的插件。处理日期和区域设置是一件痛苦的事情。漂亮的库,日期痛苦就这样消失了!