在javascript中两位数的月份和日期

问题描述:

我正在尝试用javascript添加结束日期。在javascript中两位数的月份和日期

<head> 
    <? $duration1 = $member_data['advt_duration']; //Using for var duration ?> 

    <script src="http://code.jquery.com/jquery.min.js"></script> 

    <script type="text/javascript"> 
     $(document).ready(function() { 
      $(function() { 
       $('#start_date').datepicker({dateFormat: 'yy-mm-dd',timeFormat: "hh:mm tt"}); 
      }); 
     }); 

     function getdate() { 
      var tt = document.getElementById('start_date').value; 

      var date = new Date(tt); 
      var newdate = new Date(date); 
      var duration = '<?php echo $duration1 ;?>'; 
      //alert(duration); 

      if (duration ==="One Month") { 
       newdate.setDate(newdate.getDate() + 30); 
      } 
      if (duration ==="Three Months") { 
       newdate.setDate(newdate.getDate() + 90); 
      } 
      if (duration ==="Six Months") { 
       newdate.setDate(newdate.getDate() + 180); 
      } 
      if (duration ==="One Year") { 
       newdate.setDate(newdate.getDate() + 365); 
      } 

      var dd = newdate.getDate(); 
      var mm = newdate.getMonth() + 1; 
      var y = newdate.getFullYear(); 

      var someFormattedDate = y+ '-' + mm + '-' + dd; 
      document.getElementById('end_date').value = someFormattedDate; 
     } 
    </script> 
</head> 

<body> 
From : <input name="start_date" type="text" id="start_date" style="border:1px solid #333;"/> 

<input type="button" onclick="getdate()" value="Get End Date" style="background-color:#999; border:1px solid #333;"/>&nbsp; 

To : <input name="end_date" type="text" id="end_date" style="border:1px solid #333;" readonly/> 

</body> 

现在我得到的YYYY-MM-DD格式开始日期......但结束日期不在这种格式越来越...

例如如果我们设定开始日期和假设VAR持续时间= “一年” ...

起始日期= “2016年5月9日” // 09 2016可以

然后 越来越

= “2017年5月9日” 而不是END_DATE “2017年5月9日”

+1

这里有很多车轮重塑,你看看moment.js吗? – andrew

+0

那么当'mm'为5且'dd'为9时,你认为'y +' - '+ mm +' - '+ dd'会怎样? – Pointy

+0

@Pointy是...当开始月份或开始日期是1到9,结束日期在一个数字月份或日期返回...我想要它在两个数字... –

这将工作

mm = (mm < 10) ? ("0" + (mm).toString()) : (mm).toString(); 
    dd= (dd< 10) ? ("0" + (dd).toString()) : (dd).toString(); 
+0

考虑'mm =(mm RobG