我有日期字段,Onclick on date feild,我必须用当前日期计算日期。如果输入的日期比今天的日期早一个月。我必须弹出消息说日期是1个月的日期。
日期格式为“yyyy-MM-dd”。我希望将日期“1984-03-20”与今天的日期“2011-04-14”进行比较。它应该返回月数。
有关此的任何提示。 的问候,
Chaitu
答案 0 :(得分:3)
请参阅此discussion它有在javascript中获取日期差异的演示。 这也是一个很好的例子:javascript-date-difference-calculation它显示了如何在一个月,一周或一年中获得差异。
答案 1 :(得分:2)
也许这对你有帮助:
http://www.ozzu.com/programming-forum/javascript-date-comparison-t46552.html
<script language="JavaScript">
var days = 0;
var difference = 0;
Christmas = new Date("December 25, 2005");
today = new Date();
difference = Christmas - today;
days = Math.round(difference/(1000*60*60*24));
</script>
答案 2 :(得分:2)
比较javascript中日期的最简单方法是首先将其转换为Date对象,然后比较这些日期对象。
在下面找到具有以下功能的对象:
dates.inRange (d,start,end)
Returns a boolean or NaN:
* true if d is between the start and end (inclusive)
* false if d is before start or after end.
* NaN if one or more of the dates are illegal.
答案 3 :(得分:0)
var dt = new Date('02 Jul 2009');
dt.setMonth(dt.getMonth() – 1);
您可以阅读有关js Date对象的内容,了解它可以接受的格式。
答案 4 :(得分:0)
你可以这样做:
<script type="text/javascript">
function checkdate (){
var today = new Date()
var dating = document.getElementById("date").attr("value");
var new = new Date(dating);
var diff = today - new;
var days = Math.round(diff/(1000*60*60*24));
if (days >= 30){
alert("more than one month!");
}
}
</script>
<html><body>
<input type="text" id="date" onClick="checkdate();"/>
</html></body>
答案 5 :(得分:0)
这样可行。将字段的值传递给dateString onclick,代码将确定日期是否超过1个月。
var dateString = '3/26/2011';
var selectDate = new Date(dateString); // convert string to date
var monthOld = new Date();
monthOld.setDate(monthOld.getDate() - 30); // subtract 30 days
if (selectDate < monthOld) {
alert('older than one month');
}
else alert('ok');
答案 6 :(得分:0)
首先,我建议您将需求调整为30天。这可能对您的用户来说很好,对您和他们来说都是明确的。 1个月的长度可能会有所不同,具体取决于一年中的时间。
用
开始解决方案var millisecond = 1;
var second = 1000;
var minute = second * 60;
var hour = minute * 60;
var day = hour * 24;
var week = day* 7;
然后在日期条目中执行此操作
if (usersDate < new Date().getTime() - 30 * day) {
//Do popup / whatever
}
或者,如果你真的想做基于月的间隔,那么
var now = new Date();
if (usersDate < now.setMonth(now.getMonth() - 1))) {
//Do popup / whatever
}