web-dev-qa-db-ja.com

この形式はT00:00:00.000Zを意味しますか?

誰かがこのタイプのフォーマットをjavascriptで説明してください

 T00:00:00.000Z

そして、それを解析する方法。

ありがとう

44
Ali Akram

ISO-8601 日付表現の一部です。このパターンの完全な日付表現には日付も含まれている必要があるため、不完全です。

2015-03-04T00:00:00.000Z //Complete ISO-8601 date

この日付をそのまま解析しようとすると、Invalid Dateエラーを受け取ります。

new Date('T00:00:00.000Z'); // Invalid Date

したがって、この形式のタイムスタンプを解析する方法は、任意の日付と連結することです

new Date('2015-03-04T00:00:00.000Z'); // Valid Date

その後、必要な部分(タイムスタンプ部分)のみを抽出できます

var d = new Date('2015-03-04T00:00:00.000Z');
console.log(d.getUTCHours()); // Hours
console.log(d.getUTCMinutes());
console.log(d.getUTCSeconds());
53
nanndoj

これにはmoment.jsを使用することをお勧めします。 moment.jsでは、次のことができます。

var localTime = moment().format('YYYY-MM-DD'); // store localTime
var proposedDate = localTime + "T00:00:00.000Z";

しばらくの間、適切な形式が用意できたので、有効であれば解析します。

var isValidDate = moment(proposedDate).isValid();
// returns true if valid and false if it is not.

時間の部分を取得するには、次のようなことができます:

var momentDate = moment(proposedDate)
var hour = momentDate.hours();
var minutes = momentDate.minutes();
var seconds = momentDate.seconds();

// or you can use `.format`:
console.log(momentDate.format("YYYY-MM-DD hh:mm:ss A Z"));

Momentjsに関する詳細情報 http://momentjs.com/

6
gone43v3r