web-dev-qa-db-ja.com

UnixタイムスタンプをISO 8601に変換

Jquery timeagoプラグインを使用したい- http://timeago.yarp.com/

このようなタイムスタンプがあります1331209044000とドキュメントは、ISO 8601タイムスタンプが必要だと言っています。

正直なところ、ISO 8601について聞いたことがありません。

どうすれば変換できますか?

乾杯

31
Vince Lowe

タイムスタンプがミリ秒単位である(またはミリ秒に簡単に変換できる)と仮定すると、 Dateコンストラクターdate.toISOString() method を使用できます。 =。

var s = new Date(1331209044000).toISOString();
s; // => "2012-03-08T12:17:24.000Z"

EMCAScript 5th Editionをサポートしていない古いブラウザーをターゲットにする場合は、この質問にリストされている戦略を使用できます。 JavaScriptでISO 8601形式の文字列を出力するにはどうすればよいですか?

54
maerics

提供されたリンクのおかげで私が使用したソリューション

// convert to ISO 8601 timestamp
function ISODateString(d){
    function pad(n){return n<10 ? '0'+n : n}
    return d.getUTCFullYear()+'-'
        + pad(d.getUTCMonth()+1)+'-'
        + pad(d.getUTCDate())+'T'
        + pad(d.getUTCHours())+':'
        + pad(d.getUTCMinutes())+':'
        + pad(d.getUTCSeconds())+'Z'
}

var d = new Date(parseInt(date));
console.log(ISODateString(d));
1
Vince Lowe