在尝试将日期添加到日期值时,我得到了一个奇怪的输出。
var startdate = $("#JobStartDate").val();
startdate = new Date(startdate);
startdate28 = startdate.setDate(startdate.getDate()+28);
console.log(startdate);
console.log(startdate28);
结果
startdate = "Date 2017-03-15T00:00:00.000Z"
startdate28 = 1489536000000
我出错的任何想法?
答案 0 :(得分:1)
var startdate = $("#JobStartDate").val();
startdate = new Date(startdate);
startdate28 = new Date();
startdate28.setDate(startdate.getDate()+28);
console.log(startdate);
console.log(startdate28);
答案 1 :(得分:0)
查看以下代码段:
var startdate = "2017-02-15";
startdate = new Date(startdate);
startdate28 = new Date();
startdate28.setTime(startdate.getTime() + 28 * 86400000);
console.log(startdate);
console.log(startdate28);
请注意,您需要我们setTime
setDate
的内容,因为当月份或年份与添加日期之前的月份或年份不同时,可能会导致错误。
结果将是:
“2017-02-15T00:00:00.000Z”。
“2017-03-15T00:00:00.000Z”
答案 2 :(得分:0)
这一行:startdate28 = startdate.setDate(startdate.getDate()+ 28); 您存储“startdate28”中“startdate.setDate”返回的内容,此函数返回调整日期的时间戳。
您可以做的是为另一个日期创建一个新的日期对象:
var startdate = '2016-01-01';
startdate = new Date(startdate);
startdate28 = new Date(startdate.setDate(startdate.getDate()+28));
console.log(startdate);
console.log(startdate28);
答案 3 :(得分:0)
方法Date.getDate()产生一个整数。因此,整数+ 28仍然是整数而不是日期类型。尝试:
var startdate;
startdate = new Date("2017-03-15T00:00:00.000Z");
startdate28 = new Date();
startdate28.setDate(startdate.getDate()+28);
console.log(startdate);
console.log(startdate28);
答案 4 :(得分:0)
你去:
addDays = function(days) {
var startdate = new Date(this.valueOf());
startdate.setDate(startdate.getDate() + days);
return startdate;
}
var startdate= new Date();
alert(dat.addDays(5))
答案 5 :(得分:0)
我遇到了同样的问题,找到的解决方案如下:
var startdate = "2017-02-15";
startdate = new Date(startdate);
startdate28 = new Date(startdate.setDate(startdate.getDate()+28));