1

この形式のように返されるデータベースから日時を受け取りました

2013-03-12T22:15:40+08:00

このフォーマットは何ですか?T と + は何を表していますか?

私は自分の時間を次のように表示したいと思います:

12 Mar 2012 02:15:40 UTC

今回はブラウザに設定されているタイムゾーンに合わせて表示したいと思います。したがって、これを Javascript でフォーマットする必要がありますが、バックエンドではフォーマットしないでください。JSでこれを達成するにはどうすればよいですか?

4

3 に答える 3

1

詳細は上記の回答にあります-これがあなたがしていることのすべてである場合、それはあなたに役立つように思えます. より多くの日付操作を行う場合は、日付操作ライブラリを確認することをお勧めします。JavaScript の日付の処理はせいぜい弱いので、選択できるものはいくつかありますが、明らかな理由から、私は自分のものを好む傾向があります。

DP_DateExtensions

Parse 関数は定義済みの文字列から JS 日付を取得し、Format 関数は必要なものを吐き出します。

于 2013-03-12T15:37:18.407 に答える
1
function toUTC(datestring) {
    var date = new Date(datestring);
    var months = ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"];
    return date.getUTCDate() + " " + 
           months[date.getUTCMonth()] + " " + 
           date.getUTCFullYear() + " " + 
           date.getUTCHours() + ":" + 
           date.getUTCMinutes() + ":" + 
           date.getUTCSeconds() + " UTC";
}
console.log(toUTC("2013-03-12T22:15:40+08:00"));

を与え12 Mar 2013 14:15:40 UTCます。UTC 時間は 02 時間ではなく 14 時間にする必要があると思います。

于 2013-03-12T15:05:15.710 に答える
1

「時間」の「T」。「+」(または「-」) は UTC オフセットを表します。私のブラウザでは、JavaScript は実際にこの形式をうまく解析します。

> new Date('2013-03-12T22:15:40+08:00');
Date {Tue Mar 12 2013 14:15:40 GMT+0000 (GMT Standard Time)}

したがって、指定した形式が必要な場合:

var formatDate = function(d) {
  var date = new Date(d);
  return date.getUTCDate() + ' ' +
         ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'][date.getUTCMonth()] + ' ' +
         date.getUTCFullYear() + ' ' +
         date.getUTCHours() + ':' +
         date.getUTCMinutes() + ':' +
         date.getUTCSeconds() + ' UTC';
};
于 2013-03-12T15:02:01.727 に答える