現在、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])
を試しましたが、すべての異なる種類のプロパティを持つオブジェクトを返します。
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);
瞬間操作には2つの部分があります。日付/時刻を読み込み、それを吐き出します。あなたは最初の部分を持っています:
moment("2011-04-11T10:20:30Z")
ただし、次のように出力関数を呼び出す必要があります。
moment("2011-04-11T10:20:30Z").format('YYYY-MM-DD h:mm:ss a')