0

jQuery UI datepicker - Timepickerのカスタム プラグインを使用しています

fromto入力フィールドの2 つのフィールドがあり、 toが from より大きいかどうかを確認する必要があります。カスタム onClose 関数 ( onClose: function(dateText, inst) {} ) がありますが、最初のパラメーターは入力の値 - 日付文字列です。しかし、私の日付文字列は「有効な」JS 日時形式ではないため、Date オブジェクト インスタンスを取得して比較することができません。

dd.mm.yyyy hh:mmです。例: 06.08.2012 12:00

入力文字列形式を指定する方法があるのだろうか、例えば:

var date = new Date('dd.mm.yyyy hh:mm', dateText);

そうでない場合は、何らかの形で解析してもらいます...

事前に助けてくれてありがとう。

4

1 に答える 1

1

JavaScript に組み込まれているそのようなユーティリティはありません。私があなただったら、日付形式を正規表現と一致させ、日付部分を受け入れる Date コンストラクターの形式を使用します。

function parseDate(str) {
  var m = str.match(/^(\d\d)\.(\d\d)\.(\d{4}) (\d\d):(\d\d)$/);
  return (m) ? new Date(m[3], m[2]-1, m[1], m[4], m[5]) : null;
}

月の部分は 0 から始まることに注意してください (1 から始まるのではなく、1 月 = 0 であるため、マイナス 1 になります)。また、Numberコンストラクターは文字列を数値に変換するために使用されるため、ゼロで始まる可能性のある数値が 8 進数として解釈されることを心配する必要はありませんparseInt(...)

于 2012-08-06T15:27:53.427 に答える