web-dev-qa-db-ja.com

jquery / javascript日付文字列を日付に変換

日付文字列「2010年2月28日日曜日」があり、@ MM/DD/YYYY形式のjs日付オブジェクトに変換したいのですが、方法がわかりません。助言がありますか?

32
sadmicrowave

date.js を取得するか、独自のフォーマット機能をロールする必要があります。

22
Segfault

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

99
Jono Wilkinson
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ではサポートされません)。自分で検索するか、同じ機能を提供する多くのライブラリのいずれかを使用する必要があります。

また、コードには、追加する必要のあるエラーチェックがありません。 (文字列が正規表現と一致しない、存在しない月など)

4
RoToRa

一度だけ必要な場合は、プラグインをロードするのはやり過ぎです。

日付「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)です

3
stallingOne

Javascriptの日付関数toLocaleDateStringを使用して取得しました

var Today = new Date();
var r = Today.toLocaleDateString();

Rの結果は

11/29/2016

詳細情報: http://www.w3schools.com/jsref/jsref_tolocaledatestring.asp

3
MUlferts

日付操作にはモーメントjsを使用します。

https://momentjs.com/

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>
1
Vijay Maheriya