ホームページ  >  記事  >  ウェブフロントエンド  >  dd-mm-yyyy 文字列を JavaScript 日付オブジェクトに変換するにはどうすればよいですか?

dd-mm-yyyy 文字列を JavaScript 日付オブジェクトに変換するにはどうすればよいですか?

DDD
DDDオリジナル
2024-11-19 22:43:02756ブラウズ

How Can I Convert a dd-mm-yyyy String to a JavaScript Date Object?

Convert dd-mm-yyyy String to Date

を使用して dd-mm-yyyy 文字列を有効な日付オブジェクトに解析できないJavaScript の Date コンストラクターは主に、コンストラクターによって認識されない「-」記号の存在が原因です。これを克服するには、別のアプローチが必要です。

解決策: "-" で分割

解決策の 1 つは、'-' を使用して文字列を個々のコンポーネントに分割することです。記号を区切り文字として使用し、日、月、年の値を使用して新しい Date オブジェクトを作成します。

var from = $("#datepicker").val().split("-")
var f = new Date(from[2], from[1] - 1, from[0])

解決策: Regex を使用します

正規表現を使用することもできます。個々の日付コンポーネントを抽出し、有効な日付文字列を構築するために使用されます。

var date = new Date("15-05-2018".replace( /(\d{2})-(\d{2})-(\d{4})/, "//"))

推奨: "-" で分割

どちらのアプローチも有効ですが、 "split on -" メソッドは、おそらくより複雑な正規表現の一致に依存せずに、入力文字列の既知の形式を直接ターゲットにするため、この特定のタスクにとってより具体的かつ効率的です。

再利用性

この変換がコード内で複数回実行される場合は、再利用性と保守性を考慮して関数にカプセル化することをお勧めします:

function toDate(dateStr) {
  var parts = dateStr.split("-")
  return new Date(parts[2], parts[1] - 1, parts[0])
}

関数の使用:

var f = toDate($("#datepicker").val())
var t = toDate($("#datepickertwo").val())

最新の JavaScript

最新の JavaScript 環境では、配列の構造化によりコードを簡素化できます。

const toDate = (dateStr) => {
  const [day, month, year] = dateStr.split("-")
  return new Date(year, month - 1, day)
}

以上がdd-mm-yyyy 文字列を JavaScript 日付オブジェクトに変換するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。