JavaScript,获取第二天的日期
我有以下第二天返回的脚本:JavaScript,获取第二天的日期,javascript,date,Javascript,Date,我有以下第二天返回的脚本: function today(i) { var today = new Date(); var dd = today.getDate()+1; var mm = today.getMonth()+1; var yyyy = today.getFullYear(); today = dd+'/'+mm+'/'+yyyy; return today;
function today(i)
{
var today = new Date();
var dd = today.getDate()+1;
var mm = today.getMonth()+1;
var yyyy = today.getFullYear();
today = dd+'/'+mm+'/'+yyyy;
return today;
}
通过使用以下命令:
today.getDate()+1;
我得到了一个月的第二天(例如今天将得到16)
我的问题是,这可能是本月的最后一天,因此最终返回到2014年4月32日
有什么方法可以保证第二天的正确日期吗?您可以使用:
var tomorrow = new Date();
tomorrow.setDate(tomorrow.getDate()+1);
例如,由于4月有30天,以下代码将在5月1日输出:
var day = new Date('Apr 30, 2000');
console.log(day); // Apr 30 2000
var nextDay = new Date(day);
nextDay.setDate(day.getDate() + 1);
console.log(nextDay); // May 01 2000
请参阅。使用日期对象可以保证。例如,如果您试图在4月31日创建
:
new Date(2014,3,31) // Thu May 01 2014 00:00:00
请注意,它是零索引的,所以一月是0
,二月是1
等等
从此处粘贴的副本:
你有三个选择:
仅使用JavaScript的日期对象(无库):
或者如果您不介意更改日期(而不是创建
新日期):
编辑:另请参见Jigar的回答和David的评论:var明天
=新日期();明天.setDate(明天.getDate()+1)
使用MomentJS:
var today = moment();
var tomorrow = moment(today).add(1, 'days');
(请注意,add会修改您调用它的实例,而不是
返回一个新实例,因此today.add(1,'days')将在今天修改。
这就是为什么我们从var上的克隆操作开始(明天=…)
使用DateJS,但很长时间没有更新:
var today = new Date(); // Or Date.today()
var tomorrow = today.add(1).day();
选择一个班轮时是否有任何错误,如新日期(1000*60*60*24++new Date())
?@KrIsHnA可爱的一个班轮。没有错误!我将其用作新日期(86400000++new Date())
以节省处理器的乘法成本@ToWhomItMayConcern此处前缀的加号+new Date()
是一元运算符(如果尚未将操作数转换为数字,则尝试将其转换为数字),以防万一:)请将引用标记为一元运算符!将问题作为副本关闭比关闭c&p答案更容易、更好。@Bergi特别是因为答案在复制后发生了变化……这对夏令时不起作用!使用新日期(2016年10月6日)尝试此选项。
原始答案已更新,如果可以,我会投票关闭此选项。我不知道它是否有助于提高性能,但可以使用明天.setDate(明天.getDate()+1)简化此选项代码>此方法不会更新月份。因此,如果你要求这个月,它仍然会在四月份返回example@marimaf-此方法确实更新了月份。他的例子有点站不住脚,因为它依赖于它是同一个月,当他作出这个答案(我只是更新,以修复),但该方法的工作。谢谢。。帮了我一个大忙这里有一个更适合我需要的单行程序:var-tomory=new-Date(new-Date().setDate(new-Date().getDate()+1))代码>请注意,以“0”开头的数字文字是八进制,已被弃用。因此,此代码可能会在严格模式下导致错误。而且,你写的是03而不是04…@tsh-它是零索引的。所以4月份的3是正确的。
var today = moment();
var tomorrow = moment(today).add(1, 'days');
var today = new Date(); // Or Date.today()
var tomorrow = today.add(1).day();