日付文字列「2010年2月28日日曜日」があり、@ MM/DD/YYYY形式のjs日付オブジェクトに変換したいのですが、方法がわかりません。助言がありますか?
date.js を取得するか、独自のフォーマット機能をロールする必要があります。
JQueryで実行している場合、datepicker UIライブラリのparseDate関数を使用して、文字列を日付に変換できます。
var d = $.datepicker.parseDate("DD, MM dd, yy", "Sunday, February 28, 2010");
次に、formatDateメソッドを使用して、目的の文字列形式に取得します
var datestrInNewFormat = $.datepicker.formatDate( "mm/dd/yy", d);
もちろん、jQueryを実行していない場合は、jQueryコアとdatepicker UIモジュールが必要になるため、おそらく最善の計画ではありません。
HTH
var stringDate = "Sunday, February 28, 2010";
var months = ["January", "February", "March"]; // You add the rest :-)
var m = /(\w+) (\d+), (\d+)/.exec(stringDate);
var date = new Date(+m[3], months.indexOf(m[1]), +m[2]);
配列のindexOf
メソッドは、新しいブラウザーでのみサポートされます(IEではサポートされません)。自分で検索するか、同じ機能を提供する多くのライブラリのいずれかを使用する必要があります。
また、コードには、追加する必要のあるエラーチェックがありません。 (文字列が正規表現と一致しない、存在しない月など)
一度だけ必要な場合は、プラグインをロードするのはやり過ぎです。
日付「dd/mm/yyyy」の場合、これは私のために機能します:
_new Date(d.date.substring(6, 10),d.date.substring(3, 5)-1,d.date.substring(0, 2));
_
Mm/dd/yyyyの月と日を反転するだけです。構文は
new Date(y,m,d)
です
Javascriptの日付関数toLocaleDateStringを使用して取得しました
var Today = new Date();
var r = Today.toLocaleDateString();
Rの結果は
11/29/2016
詳細情報: http://www.w3schools.com/jsref/jsref_tolocaledatestring.asp
日付操作にはモーメントjsを使用します。
console.log(moment("Sunday, February 28, 2010").format('MM/DD/YYYY'));
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.18.1/moment.min.js"></script>