如何使用JavaScript添加/减去日期?

我想让用户使用JavaScript轻松地添加和减去日期,以便按日期浏览其条目。


日期的格式为:“ mm / dd / yyyy”。我希望他们能够单击“下一步”按钮,并且如果日期是:“ 06/01/2012”,则单击下一步时,它应该变成:“ 06/02/2012”。如果他们单击“上一个”按钮,则它应变为“ 05/31/2012”。


它需要跟踪of年,每月的天数等。


有任何想法吗?


使用AJAX从服务器获取日期的PS不是一种选择,这有点滞后,而不是客户端想要的用户体验。


三国纷争
浏览 512回答 3
3回答

烙印99

码:var date = new Date('2011', '01', '02');alert('the original date is ' + date);var newdate = new Date(date);newdate.setDate(newdate.getDate() - 7); // minus the datevar nd = new Date(newdate);alert('the new date is ' + nd);使用Datepicker:$("#in").datepicker({    minDate: 0,    onSelect: function(dateText, inst) {       var actualDate = new Date(dateText);       var newDate = new Date(actualDate.getFullYear(), actualDate.getMonth(), actualDate.getDate()+1);        $('#out').datepicker('option', 'minDate', newDate );    }});$("#out").datepicker();JSFiddle演示可能会派上用场的其他东西:getDate()   Returns the day of the month (from 1-31)getDay()    Returns the day of the week (from 0-6)getFullYear()   Returns the year (four digits)getHours()  Returns the hour (from 0-23)getMilliseconds()   Returns the milliseconds (from 0-999)getMinutes()    Returns the minutes (from 0-59)getMonth()  Returns the month (from 0-11)getSeconds()    Returns the seconds (from 0-59)

qq_花开花谢_0

您需要在javascript Date对象中使用getTime()和setTime()添加或减去时间。达到第1、30、31等个月的限制时,使用setDate()和getDate()将导致错误。使用setTime允许您设置偏移量(以毫秒为单位),并让Date对象计算其余部分:var now=new Date();var yesterdayMs = now.getTime() - 1000*60*60*24*1; // Offset by one day;now.setTime( yesterdayMs );
打开App,查看更多内容
随时随地看视频慕课网APP