我有以下脚本,第二天返回:
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;
}
Run Code Online (Sandbox Code Playgroud)
通过使用这个:
today.getDate()+1;
Run Code Online (Sandbox Code Playgroud)
我将在本月的第二天(例如今天将获得16).
我的问题是这可能是在本月的最后一天,因此最终会在2014年4月3日返回
有没有办法可以获得第二天保证的正确日期?
aca*_*lon 150
您可以使用:
var tomorrow = new Date();
tomorrow.setDate(new Date().getDate()+1);
Run Code Online (Sandbox Code Playgroud)
例如,由于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
Run Code Online (Sandbox Code Playgroud)
看小提琴.
Rus*_* F. 36
从这里复制粘贴: 在JavaScript中增加日期
三种选择:
仅使用JavaScript的Date对象(无库):
Run Code Online (Sandbox Code Playgroud)var today = new Date(); var tomorrow = new Date(today.getTime() + (24 * 60 * 60 * 1000));
或者,如果您不介意更改日期(而不是创建新日期):
Run Code Online (Sandbox Code Playgroud)var dt = new Date(); dt.setTime(dt.getTime() + (24 * 60 * 60 * 1000));
编辑:另见Jigar的回答和David的评论如下:var tomorrow = new Date(); tomorrow.setDate(tomorrow.getDate()+ 1);
使用MomentJS:
Run Code Online (Sandbox Code Playgroud)var today = moment(); var tomorrow = moment(today).add(1, 'days');
(请注意,add会修改你调用它的实例,而不是返回一个新实例,所以today.add(1,'days')今天会修改.这就是为什么我们从明天开始克隆op = .... )
使用DateJS,但它很长时间没有更新:
Run Code Online (Sandbox Code Playgroud)var today = new Date(); // Or Date.today() var tomorrow = today.add(1).day();
使用 Date 对象可以保证这一点。例如,如果您尝试创建April 31st
:
new Date(2014,3,31) // Thu May 01 2014 00:00:00
Run Code Online (Sandbox Code Playgroud)
请注意,它是零索引的,所以 Jan. 是
0
,Feb. 是1
等等。