将+1添加到当前date
我有
var ds = stringFormat("{day} {date} {month} {year}", { day: companyname.i18n.translate("day", language)[date.getUTCDay()], date: date.getUTCDate(), month: companyname.i18n.translate("month", language)[date.getUTCMonth()], year: date.getUTCFullYear() });
我如何在其中添加+1?
ive添加+1 getUTCDay()和getUTCDate(),但“星期天”不显示它。
要将一天添加到date对象:
var date = new Date(); // add a day date.setDate(date.getDate() + 1);
在我看来,最好的方法是在毫秒内添加一整天,这取决于你如何考虑代码,如果你在这个月的最后一天可能会搞砸。
例如2月28日或3月31日。
这里是我将如何做的一个例子:
var current = new Date(); //'Mar 11 2015' current.getTime() = 1426060964567 var followingDay = new Date(current.getTime() + 86400000); // + 1 day in ms followingDay.toLocaleDateString();
这确保了准确性
这里是另一个例子,我不喜欢,可以为你工作,但不是像上面那样干净
var today = new Date('12/31/2015'); var tomorrow = new Date(today); tomorrow.setDate(today.getDate()+1); tomorrow.toLocaleDateString();
imho这个==='POOP'
所以你们中的一些人因为白天的节约时间而对我毫秒的方法抱怨。 所以我会打这个。 首先,一些国家和国家没有日光节约时间。 第二个整整24小时加一整天。 如果date数量每年不会改变一次,但是在6个月之后得到修正,那么我不会在那里看到问题。 但是为了确定和处理分配邪恶的date()我已经想到了这一点,现在彻底讨厌date。 所以这是我的新方法
var dd = new Date(); // or any date and time you care about var dateArray = dd.toISOString().split('T')[0].split('-').concat( dd.toISOString().split('T')[1].split(':') ); // ["2016", "07", "04", "00", "17", "58.849Z"] at Z
现在有趣的部分!
var date = { day: dateArray[2], month: dateArray[1], year: dateArray[0], hour: dateArray[3], minutes: dateArray[4], seconds:dateArray[5].split('.')[0], milliseconds: dateArray[5].split('.')[1].replace('Z','') }
现在我们有我们的官方有效的国际date对象明确写在祖鲁语子午线。 现在改变date
dd.setDate(dd.getDate()+1); // this gives you one full calendar date forward tomorrow.setDate(dd.getTime() + 86400000);// this gives your 24 hours into the future. do what you want with it.
int days = 1; var newDate = new Date(Date.now() + days*24*60*60*1000);
CodePen
var days = 2; var newDate = new Date(Date.now()+days*24*60*60*1000); document.write('Today: <em>'); document.write(new Date()); document.write('</em><br/> New: <strong>'); document.write(newDate);