js 里如何系统时间加一

取出来是20140711的字符串,在js中如何把这个加一天呢?
如果 newdate(20140711)得出的结果是thu jan1970 13:35:40BMT+0800 这样的日期类型,
请问这个应该如何处理呢???
我是想先转换成时间类型之后加一 之后再换回来,或者哪位大神有更好的解决办法·
最后解决会给积分奖励滴···

首先,你这里的日期'20140711' 不是标准的日期格式,js不认识,想要使用 new Date() 得到日期,可以把 '20140711' 格式化成js能认识的格式。如: 2014-07-11

先加转换成日期类型,然后加1天,再格式化成你要的格式。

// @param sDate yyyyMMdd格式的日期字符串
// @param days 要加上的天数
function afterNDays(sDate, days) {
    if(!sDate) return '';
    // 默认1天
    days = days || 1;
    // 如果 sDate 的这个格式是不变的,那么可以使用一些方法得到 yyyy-MM-dd 这样的格式
    // 得到年部分
    var y = sDate.substring(0, 4);
    // 得到月部分
    var m = sDate.substring(4, 6);
    // 得到日部分
    var d = sDate.substring(6, 8);

    var dDate = new Date(y + '-' + m + '-' + d);
    dDate.setDate(dDate.getDate() + 1);
    // 如果想得到原来的格式,那么需要手动设置格式
    y = dDate.getFullYear();
    m = dDate.getMonth() + 1;
    d = dDate.getDate();
    // 返回  yyyyMMdd格式
    return y + (m < 10 ? '0' + m : m) + (d < 10 ? '0' + d : d);
}


调用方法:

afterNDays('20140711', 1); // 得到 20140712

追问

这是我用谷歌调试过后的代码,左面是代码,右面是看返回的一些值,可是为什么都返回NaN呢?求指点? 谢谢辛苦了

追答

我也是用 chrome 调试的,没有问题啊。 你把代码都贴上来看看。。。

追问

你好 问题解决了·是我代码写错了··谢谢你

追答

随意。。给不给无所谓。。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-07-10
可以使用:
var curDate = new Date();
var newDate=new Date(curDate.setDate(curDate.getDate()+1))来实现;

参考例子如下:
<%
//取得日期
String strMon,strDay,strDay1,dt,dt3;
java.util.Date date1=new java.util.Date();
Calendar calendar=Calendar.getInstance();
calendar.setTime(date1);
int year = calendar.get(Calendar.YEAR);
int mont = calendar.get(Calendar.MONTH)+1;
int days = calendar.get(Calendar.DATE);
int days1 = calendar.get(Calendar.DATE)+1;

strMon =Integer.toString(mont);
if(strMon.length() == 1) {
strMon = "0" + strMon;
}
strDay = Integer.toString(days);
if(strDay.length() == 1) {
strDay = "0" + strDay;
}
strDay1 = Integer.toString(days1);
if(strDay1.length() == 1) {
strDay1 = "0" + strDay1;
}
dt = Integer.toString(year) +"-" + strMon +"-" + strDay;
dt3 = Integer.toString(year) +"-" + strMon +"-" + strDay1;

out.println(dt);
out.println("-----");
out.println(dt3);
%>dt为今天的日期。
dt3为加1后的日期。本回答被网友采纳
相似回答