私はXMLフィードを取得し、JavaScriptを使用してHTMLに書き出しています。javascriptで数字をyyyymmddに変換してyyyymmddをmm/dd/yyyyにします。
日付フィールドがあります。
20120319
私は何をしたいような、より読みやすい形式に変換します:
03/19/2012
これを行う簡単な方法がありますJavaScriptで?
私はXMLフィードを取得し、JavaScriptを使用してHTMLに書き出しています。javascriptで数字をyyyymmddに変換してyyyymmddをmm/dd/yyyyにします。
日付フィールドがあります。
20120319
私は何をしたいような、より読みやすい形式に変換します:
03/19/2012
これを行う簡単な方法がありますJavaScriptで?
一つの方法は、書くことである:第二と、replaceへの2つの数字のシーケンスが続く二桁のシーケンスに続く4桁の配列を、正規表現を使用し
s = s.replace(/(\d\d\d\d)(\d\d)(\d\d)/g, '$2/$3/$1');
、プラス/
、さらに3番目のプラスプラス/
に加えて最初のプラス。
理想的には、世界中で明白な「2012-03-19」のようなロケールに影響されない日付形式を使用することをお勧めします。それは言った:
var dateStr = "20120319";
var match = dateStr.match(/(\d{4})(\d{2})(\d{2})/);
var betterDateStr = match[2] + '/' + match[3] + '/' + match[1];
あなたが望むことをします。これはMDYをハードコードします。ほとんどのヨーロッパで使用されているDMYが必要な場合は、match[2]
とmatch[3]
を交換してください。
あなたはヒューリスティックは、現在のロケールが最初の月や日を好むかどうかを検出したい場合は、その後、
(new Date('01/02/1970').getDate() === 2)
は助けることができます。
+1 「ヨーロッパのほとんどの地域で使用されているように」、しかし世界のほとんどで。ああ、日付を信頼して文字列を解析するのではなく、期待してリースすると失敗します。 – RobG
ありがとうございました。私はこのコードを使いました: 'exp.replace(/(\ d \ d)(\ d \ d)/ g、 '$ 2/$ 3/$ 1');' – Daniel