2016-10-08 5 views
0

XMLファイルをJavascriptで解析していますが、moment.jsを使用して日付を自分のローカルタイムゾーンに変換したいのですが、私は立ち往生しています。基本的な構文解析は、日付を取得で構成されていますXMLの解析時間帯をmoment.jsで変換します

31/12/2016 23:00のようなものを生成
document.write(x[i].getElementsByTagName("Date")[0].childNodes[0].nodeValue); 

。私の現在のタイムゾーンに01/01/2017 01:00を書き込み

var utcDate = moment.utc('31/12/2016 23:00', 'DD/MM/YYYY HH:mm'); 
var localDate = utcDate.local(); 
document.write(localDate); 

:moment.jsで、それは次のように日付の書式を設定することが可能です。しかし、上記の方法を解析する方法を理解することはできません。変数を変更しようとしましたが、結果として「無効な日付」しか取得されませんでした。

var utcDate = moment.utc('x[i].getElementsByTagName("Date")[0].childNodes[0].nodeValue', 'DD/MM/YYYY HH:mm'); 
var localDate = utcDate.local(); 
document.write (localDate); 

誰にもヒントはありますか? moment.jsを使用する以外の解決策かもしれませんが、これは最高の柔軟性のオプションのように思えました。

答えて

1

XMLトラバーサルを文字列の中に配置しました。そのトラバーサルは、実際のjavascriptでない場合は起こりません。さらに、moment.jsは、そのトラバーサルの値ではなく、リテラル文字列を日付として解析しようとします。

'x[i].getElementsByTagName("Date")[0].childNodes[0].nodeValue' 

値を取得するにはトラバーサルを引用符で囲まずに、それをmoment.jsにフィードする必要があります。

var utcDate = moment.utc(x[i].getElementsByTagName("Date")[0].childNodes[0].nodeValue, 'DD/MM/YYYY HH:mm'); 
+0

ああ、それは今、魅力のように簡単に働いていました。ありがとうございました! – yayheartbeat

+0

お世話になりました。 – Soviut

関連する問題