2014-01-06 164 views
64

我有一個unix時間戳,我試圖將它轉換爲日曆日期,如MM/DD/YYYY。到目前爲止,我有這個:如何將unix時間戳轉換爲日曆日期moment.js

$(document).ready(function() { 
     var value = $("#unixtime").val(); //this retrieves the unix timestamp 
     var dateString = moment(value).calendar(); 
     alert(dateString); 
}); 

當我嘗試打印日曆日期時,窗口顯示「日期無效」。誰能幫我嗎?

回答

180

使用moment.js你問:

var dateString = moment.unix(value).format("MM/DD/YYYY"); 
+2

這不是日曆日期。 –

+0

@伊萬沃伯頓 - 它不是? –

+0

我想這是根據這個問題。但我認爲在moment.js中的日曆日期看起來像這樣....時刻(新日期(item.date))。calendar() –

19

UNIX時間戳它是從1970年秒數,所以你需要將其轉換爲JS Date對象:

var date = new Date(unixTimestamp*1000); 
+0

是的,這是與最新版本的時刻,或者至少是一個我從故宮最近得到了解決。即使我從一開始就得到了.unix(),但當再次實例化時,我還得* 1000。例如:moment(moment().unix()* 1000) – kroe

2
new moment(timeStamp,'yyyyMMddHHmmssfff').toDate() 
+8

雖然這段代碼可能回答這個問題,但它會更好包括一些上下文,解釋它是如何工作的,並描述何時使用它。從長遠來看,僅有代碼的答案是沒有用的。此外,您的代碼格式不正確。 – ryanyuyu

0

Moment.js提供了可以使用的Localized formats

下面是一個例子:

const moment = require('moment'); 

const timestamp = 1519482900000; 
const formatted = moment(timestamp).format('L'); 

console.log(formatted); // "02/24/2018"