web-dev-qa-db-ja.com

JavaScriptのMoment jsを使用してISO 8601を日付と時刻の形式に解析する方法は?

現在、Moment jsを使用してISO 8601文字列を日付と時刻に解析していますが、正しく機能していません。私は何を間違えていますか?そして、他のより簡単なソリューションも同様に採用します。

解析したいISO 8601:_"2011-04-11T10:20:30Z"_文字列の日付:_"2011-04-11"_と文字列の時間:_"10:20:30"_

そして、テストとしてconsole.log(moment("2011-04-11T10:20:30Z" ,moment.ISO_8601))console.log(moment("2011-04-11T10:20:30Z" , ["YYYY",moment.ISO_8601])を試しましたが、すべての異なる種類のプロパティを持つオブジェクトを返します。

15
Walter

Moment.jsを使用

var str = '2011-04-11T10:20:30Z';
var date = moment(str);
var dateComponent = date.utc().format('YYYY-MM-DD');
var timeComponent = date.utc().format('HH:mm:ss');
console.log(dateComponent);
console.log(timeComponent);
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.15.1/moment.min.js"></script>

または、単に文字列操作で

var str = '2011-04-11T10:20:30Z';
var parts = str.slice(0, -1).split('T');
var dateComponent = parts[0];
var timeComponent = parts[1];
console.log(dateComponent);
console.log(timeComponent);
32
Xotic750

瞬間操作には2つの部分があります。日付/時刻を読み込み、それを吐き出します。あなたは最初の部分を持っています:

moment("2011-04-11T10:20:30Z")

ただし、次のように出力関数を呼び出す必要があります。

moment("2011-04-11T10:20:30Z").format('YYYY-MM-DD h:mm:ss a')
13
machineghost