Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JavaScript添加日期_Javascript_Date_Format_Add - Fatal编程技术网

JavaScript添加日期

JavaScript添加日期,javascript,date,format,add,Javascript,Date,Format,Add,如何在2012年7月31日之前添加一天或两天,并以dd.MM.yyyy格式返回与输入日期相同的结果?最好的方法是使用javascript日期对象。javascirpt中的初始化为mm/dd/yyyy或Dateyear,month-1,date。就是 /** * Format date (2012.08.31) */ Date.prototype.format = function() { var yyyy = this.getFullYear().toString(); var

如何在2012年7月31日之前添加一天或两天,并以dd.MM.yyyy格式返回与输入日期相同的结果?

最好的方法是使用javascript日期对象。javascirpt中的初始化为mm/dd/yyyy或Dateyear,month-1,date。就是

/**
 * Format date (2012.08.31)
 */
Date.prototype.format = function() {
   var yyyy = this.getFullYear().toString();
   var mm = (this.getMonth()+1).toString(); // getMonth() is zero-based
   var dd  = this.getDate().toString();
   return yyyy + '.' + (mm[1]?mm:"0"+mm[0]) + '.' + (dd[1]?dd:"0"+dd[0]); // padding
}

/**
 * Increase current time
 */
Date.prototype.increase_days = function(days) {
    this.setTime(this.getTime() + (days * (1000 * 60 * 60 * 24)));
    return this;
}

//usage:
var date = new Date();
date.increase_days(2);
console.log(date.format());
dateString = "31.07.2012"
dateSplit = dateString.split('.') 
date = new Date(dateSplit[2], dateSplit[1]-1, dateSplit[0])
date.setDate(date.getDate()+2)
newDateString = ((date.getDate() > 10) ? date.getDate() : ("0" + date.getDate())) + "." + ((date.getMonth()+1 > 10) ? date.getMonth()+1 : ("0" + (date.getMonth()+1))) + "." + (date.getFullYear())
因为月份以0开头,所以在Dateyear、month-1、date中使用month-1

结果将是

"02.08.2012"

最好的方法是使用javascript日期对象。javascirpt中的初始化为mm/dd/yyyy或Dateyear,month-1,date。就是

dateString = "31.07.2012"
dateSplit = dateString.split('.') 
date = new Date(dateSplit[2], dateSplit[1]-1, dateSplit[0])
date.setDate(date.getDate()+2)
newDateString = ((date.getDate() > 10) ? date.getDate() : ("0" + date.getDate())) + "." + ((date.getMonth()+1 > 10) ? date.getMonth()+1 : ("0" + (date.getMonth()+1))) + "." + (date.getFullYear())
因为月份以0开头,所以在Dateyear、month-1、date中使用month-1

结果将是

"02.08.2012"

这会帮你的

var d = "31.07.2012";
d = d.split(".");
date = new Date(d[2],d[1]-1,d[0]);
date.setDate(date.getDate() + 2);
document.body.innerHTML += (date.getDate() + "." + date.getMonth() + "." + (date.getFullYear()));

这会帮你的

var d = "31.07.2012";
d = d.split(".");
date = new Date(d[2],d[1]-1,d[0]);
date.setDate(date.getDate() + 2);
document.body.innerHTML += (date.getDate() + "." + date.getMonth() + "." + (date.getFullYear()));
假设inputDateString格式为dd.mm.yyyy

假设inputDateString格式为dd.mm.yyyy


您还可以将这些函数添加到Date.prototype。事实上,这将是更加面向对象的涂鸦。我希望切换参数没有什么大不了的。刚刚修复。您还可以将这些函数添加到Date.prototype。事实上,这将是更加面向对象的涂鸦。我希望切换参数没有什么大不了的。刚刚修复。您忘记从月数中减去一。您忘记从月数中减去一。javascirpt中的日期对象初始化为mm/dd/yyyy,不,不是。ES5中只指定了一个,不是这样。否则,它取决于实现。@RobG try date=new Date07/31/2012。它将创建一个日期对象,即2012年7月31日星期二14:26:59 GMT+0530印度标准时间。我没有说这是初始化日期对象的唯一方法。-解析ES5中指定格式以外的字符串取决于实现。此外,并非所有正在使用的浏览器都支持ES5格式,因此不应依赖is。月/日/年的格式是世界上一小部分人口特有的,没有任何官方标准支持。javascirpt中的日期对象初始化为mm/dd/yyyy,不,不是。ES5中只指定了一个,不是这样。否则,它取决于实现。@RobG try date=new Date07/31/2012。它将创建一个日期对象,即2012年7月31日星期二14:26:59 GMT+0530印度标准时间。我没有说这是初始化日期对象的唯一方法。-解析ES5中指定格式以外的字符串取决于实现。此外,并非所有正在使用的浏览器都支持ES5格式,因此不应依赖is。月/日/年的格式是世界上一小部分人口特有的,没有任何官方标准支持。