55

このようなタイムスタンプが1331209044000あり、ISO 8601 タイムスタンプに変換したいと考えています。JavaScript を使用して変換するにはどうすればよいですか?

私はjQueryの「timeago」プラグインを使用しています - http://timeago.yarp.com/

4

2 に答える 2

104

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

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

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

于 2012-10-12T23:05:01.167 に答える
2

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

// 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));
于 2012-10-13T19:32:39.020 に答える