论坛首页 Web前端技术论坛

javascript给日期加一天

浏览 22074 次
精华帖 (0) :: 良好帖 (1) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2011-09-10  
javaScript给日期加一天
<script language="javascript">
    function test(){
                var mm="2011-10-10";
	var arr = mm.split("-");
	var newdt = new Date(Number(arr[0]),Number(arr[1])-1,Number(arr[2])+1);
	repnewdt = newdt.getFullYear() + "-" +   (newdt.getMonth()+1) + "-" + newdt.getDate();
	alert(repnewdt);
   }
   test();
</script>

 

   发表时间:2011-09-10  
date.setDate(date.getDate() + 1)不行吗?
1 请登录后投票
   发表时间:2011-09-11  
int08h 写道
date.setDate(date.getDate() + 1)不行吗?


行。

但是我这个传过来的是String类型的,要先转换成date类型。
0 请登录后投票
   发表时间:2011-09-17  
我记得date有一些方法,可以截取给定日期的相关部分,如年月日。试试看。
0 请登录后投票
   发表时间:2011-09-18  
yangkai5941100 写道
我记得date有一些方法,可以截取给定日期的相关部分,如年月日。试试看。


O(∩_∩)O~,我上面给出的就是把String类型的时间加一天。
你的意思是先格式化到需要的类型再加日期吧,那样也行。
0 请登录后投票
   发表时间:2011-09-19   最后修改:2011-09-19
lysvanilla 写道
javaScript给日期加一天
	repnewdt = newdt.getFullYear() + "-" +   (newdt.getMonth()+1) + "-" + newdt.getDate();

 


用这么麻烦么?而且还不对

0 请登录后投票
   发表时间:2011-09-19   最后修改:2011-09-19
function getNow(dayFix){
    var today = new Date();
    if(dayFix && !isNaN(dayFix/2)){
        today.setDate(today.getDate()+dayFix);
    }
    var year = today.getFullYear().toString(), month = today.getMonth()+1, day = today.getDate();
    month = month >= 10 ? month.toString() : '0'+month.toString();
    day = day >= 10 ? day.toString() : '0'+day.toString();
    return year +'-'+ month +'-'+ day;
}
0 请登录后投票
   发表时间:2011-09-19  
zhao_chong 写道
lysvanilla 写道
javaScript给日期加一天
	repnewdt = newdt.getFullYear() + "-" +   (newdt.getMonth()+1) + "-" + newdt.getDate();

 


用这么麻烦么?而且还不对


对的哦,朋友。

因为月份是0-11,所以转换为日期格式的时候要先减一(Number(arr[1])-1),然后在显示的时候要给它加出来,所以 (newdt.getMonth()+1) 。这个是没有问题的。

你没有理解,而且也没有测试,才会说不对,如果还没理解的话,就测试一下吧。

 

我认为这已经很简单了,你还能再简单?那请你给出方案。(前提是var mm="2011-10-10"; 这个时间是字符串String类型,不是date类型

0 请登录后投票
   发表时间:2011-09-19  
interjc 写道
function getNow(dayFix){
    var today = new Date();
    if(dayFix && !isNaN(dayFix/2)){
        today.setDate(today.getDate()+dayFix);
    }
    var year = today.getFullYear().toString(), month = today.getMonth()+1, day = today.getDate();
    month = month >= 10 ? month.toString() : '0'+month.toString();
    day = day >= 10 ? day.toString() : '0'+day.toString();
    return year +'-'+ month +'-'+ day;
}

 

 哥们可以解释下么。没看懂,也没测试成功。 if(dayFix && !isNaN(dayFix/2))

 

你这个是直接获取的date类型,我上面给出的方法是String类型,先转换成date类型。(不过在转换的过程中还有其他方法而,比如SimpleFormat)

0 请登录后投票
论坛首页 Web前端技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics