2014-01-06 17 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

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

これはカレンダーの日付ではありません。 –

+0

@IanWarburton - そうじゃない? –

+0

質問によると思います。しかし、私はmoment.jsのカレンダーの日付は次のように思えます....(new Date(item.date))calendar() –

19

UNIXタイムスタンプは、それが1970年からの秒数ですので、あなたは、JSのDateオブジェクトに変換する必要があります:あなたが尋ねたとしてmoment.jsを使用して

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

はい、それは一瞬の最新バージョン、または私は最近、NPMからもらった少なくとも一つとの溶液でした。 .unix()を瞬時に取得したにもかかわらず、私は再びインスタンス化する際に* 1000でなければなりませんでした。例えば: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"