将一个Javascript字符串日期格式化为一个特定的格式

将一个Javascript字符串日期格式化为一个特定的格式

问题描述:

我有一个像2016/1/1这样的字符串,我想将其更改为适当的格式,如2016/01/01yyyy/mm/dd)。输出格式也应该是一个字符串。将一个Javascript字符串日期格式化为一个特定的格式

什么是正确的做法?

+2

什么使得这是一个适当的格式? –

这里有一段代码,我经常使用:

function yyyymmdd(dte) { 
    var _date = new Date(dte); 
    var mm = _date.getMonth() + 1; // getMonth() is zero-based 
    var dd = _date.getDate(); 

    return [_date.getFullYear(), 
      "/", 
      (mm>9 ? '' : '0') + mm, 
      "/", 
      (dd>9 ? '' : '0') + dd 
     ].join(''); 
} 

var date = "1/1/2010"; 
yyyymmdd(dte); // returns "2010/01/01" 

这是简单的格式,我拿出我喜欢。有可能有很多方法来处理这些代码。

这是稍后向我推荐的稍微更清洁的版本。

function yyyymmdd(dte) { 
    var _date = new Date(dte); 
    var mm = _date.getMonth() + 1; // getMonth() is zero-based 
    var dd = _date.getDate(); 

    return [_date.getFullYear(), 
      (mm>9 ? '' : '0') + mm, 
      (dd>9 ? '' : '0') + dd 
     ].join('/'); 
} 

处理日期在Javascript可以是一个痛苦,一个替代解决方法是使用momentjs

库可以然后,可以以各种不同的格式,容易地格式日期使用.format()找到here

选项:

var dateTime = new Date(); 
dateTime = moment(dateTime).format("YYYY/MM/DD"); 

使用Datejs,您将格式传递给.toString()

Date.parse('2016/1/1').toString('yyyy-MM-dd') 
// "2016-01-01" 

希望这有助于。