2016-02-27 85 views
0

我在javascript中有一個字符串爲2016-02-27 20:24:39,我想將其轉換爲27th Feb 08:24pm在JavaScript中將YYYY-MM-DD HH:MM:SS轉換爲其他格式

Javascript中最簡單的方法是什麼?

+0

@aldanux我可以把使用'date.getHours()多個條件,date.getMinutes()等實現...'我的問題是有沒有像PHP這樣的Javascript函數可以輕鬆地將給定的日期字符串轉換爲我們需要的任何格式。 – Malaiselvan

+0

JavaScript中沒有內置任何東西都可以做到這一點。您需要第三方庫才能實現此目的。 – corgrath

+0

它的一個重複的問題,檢查這[問題](http://stackoverflow.com/questions/15397372/javascript-new-date-ordinal-st-ndrdrd) –

回答

3

有一個非標準日期方法toLocaleFormat('%d-%b-%Y')。但似乎現在只能在Firefox中運行。

更好地利用date.format庫(只有125行)

var date = new Date('2016-02-27 20:24:39'); 
dateFormat(date, "dS mmm, h:MMTT"); 
5

檢出名爲moment.js的JavaScript庫。由於時刻的默認格式是ISO 8601(YYYY-MM-DD HH:MM:SS),因此不需要告訴瞬間如何解析輸入字符串日期(默認爲ISO 8601),所以你可以簡單的寫:

var now = "2016-02-27 20:24:39"; 
var formattedDate = moment(now).format("Do MMM HH:mma"); 
console.log(formattedDate); 

演示:

https://jsfiddle.net/gekd97dy/

約以不同的格式顯示更多的信息可以在這裏閱讀:

http://momentjs.com/docs/#/displaying/

+0

當我運行演示時,控制檯打印出「2月1日20:02 pm」,但輸入值爲「2016-02-27 20:24」。 – Roberto

+0

@corgrath'「Do MMM hh:mma」'是獲得我想要的輸出的正確格式。 https://jsfiddle.net/4nmqayyd/1/ – Malaiselvan

+0

@Malaiselvan沒有你說你想要「27日」?這是「Qo」。 – corgrath

相關問題