2013-09-24 58 views
-4

我正在使用pikaday的日期选择器。它给了我输出“2013年9月20日星期五”。我怎样才能将这个日期转换为yyyy-mm-dd格式,我也希望这个选定日期的下一个日期,并将其设置为另一个元素。 我试过这个代码javascript日期格式转换

function formattedDate() { 

    var fromdate = new Date(document.getElementById('datepicker').value); 
     var dd = fromdate.getDate(); 
     var mm = fromdate.getMonth()+1; //January is 0! 
     var yyyy = fromdate.getFullYear(); 
     if(dd < 10) 
     { 
      dd = '0'+ dd; 
     } 
     if(mm < 10) 
     { 
      mm = '0' + mm; 
     } 
     var fromdate1 = dd+'/'+mm+'/'+yyyy; 
     fromdate.setDate(fromdate.getDate() + 2); 
     document.getElementById('datepicker').value = fromdate1; 
     var newdate = fromdate; 
     document.getElementById('datepicker1').value = newdate; 
//alert(newdate1); 

} 

但它不起作用。

+0

http://momentjs.com/ –

+1

@Phil ...如果您阅读整篇文章,它会显示英文不是该用户的第一语言。这个问题已经很清楚地解释了,他努力自己解决问题,甚至提供了一个有用的代码示例。你的评论有什么意义?这肯定不是什么建设性的东西,或者会让这个人感觉更好...... – loriensleafs

回答

6

使用momentjs - 它是利用浏览器和节点项目可用库

你的情况,你应该使用这种模式:

moment().format("YYYY-mm-D"); 

你可以尝试在控制台上momentjs的网站:
monentjs

+0

应该使用moment()。format(“YYYY-MM-DD”); “YYYY-mm-D”会给出错误的结果。 – stonexjr

7
var date = new Date(dateString); 
var year = date.getFullYear(), month = (date.getMonth() + 1), day = date.getDate(); 
if (month < 10) month = "0" + month; 
if (day < 10) day = "0" + day; 

var properlyFormatted = "" + year + month + day; 

或者

var date = new Date(dateString); 
var properlyFormatted = date.getFullYear() + ("0" + (date.getMonth() + 1)).slice(-2) + ("0" + date.getDate()).slice(-2);