2017-03-29 7 views
0

jsfiddleをご確認ください。"/ Date(1490065200000)/"を "21/03/2017"に変換する方法?

コード:

ここ
$(document).ready(function() { 
    var str = moment("/Date(1490065200000)/"); //Convert to "21/03/2017" 
    console.log(str.toString()); 
}); 

ドキュメント:https://momentjs.com/docs/#/parsing/asp-net-json-date/

任意のソリューション?

+0

'新しい日付( "/日(1490065200000)/"。 ''/\ D +/gで、(置き換え)* 1)'? –

+0

@JaromandaX、no ...結果は次のようになります: "21/03/2017" –

+0

えええええええええええええええええええええええええええええとお願いします。男に魚を教えてください男に魚を教えてください - しかしそれでも問題はありません。無料の魚が2つあります:p –

答えて

4

希望があります。

var str = moment("/Date(1490065200000)/").format("DD/MM/YYYY"); 
console.log(str); 
+0

素敵な仕事、ありがとうございます –

+0

日時は使えますか?例: "DD/MM/YYYY HOURS" –

+0

'var str = moment(" /日付(1490065200000)/ ")。書式(" DD/MM/YYYY HH:mm ");' –

1

.format("MM/DD/YYYY")を追加します。ドキュメント:.format("DD/MM/YYYY")、@Tusharコメント

1

に気づいたようにあなたはキャプチャグループで正規表現を使用することができます。

UPD http://momentjs.com/docs/#/displaying/format/。正規表現/Date\((\d+)\)/

str = "/Date(1490065200000)/" 
timestamp = parseInt(str.match(/Date\((\d+)\)/)[1]) 
formatted = moment(timestamp).format('DD/MM/YYY') 
console.log(formatted) 

説明:

  • Dateは、単に文字列Dateと一致します。
  • 括弧が2つあります。外側のものはエスケープされ、したがってバックスラッシュがエスケープされます。これは、日付文字列に現れるカッコ文字と文字通り一致します。
  • 内側のカッコは、エスケープされていないため、のキャプチャグループを区切ります。これらは、「これは実際に一致する文字列をすべて保持したい」と言います。結果のマッチオブジェクトは配列にキャプチャされた文字列を持ちます。これを[1]で参照すると、目的の番号が得られます。
+2

これは不要かもしれません。 Ashish Kadamの答えが指摘するように、momentはその文字列を直接解析する方法を知っています。正規表現は必要ありません。いくつかの妥当性検査を実行したい場合には、これは依然として有効です。 –

関連する問題