0

2012年9月1日10:11:15時間の日付オブジェクトを作成するとします。

私は理解しました:

past = new Date(2012,08,01,10,11,15);// works!
past = new Date('2012,08,01,10,11,15');// doesn't work.

問題は、メソッドと組み合わせて使用​​したいということです。

past = new Date(mypastformatfunc(mystring_to_format));

これは私にNaNを与えます。有効な日付オブジェクトが作成されていません。mypastformatfunc()の戻り値を確認しましたが、正しい形式であるようです。見積もりに関するエスケープの問題はありますか?どうすればこれを機能させることができますか?本当に不思議です…ありがとう。

解決済みの編集:問題は、それが1つの値ではなく、単一のパラメーターであったことでした。関数のreturnによって一度に渡すことはできません...。

4

1 に答える 1

2

コンストラクターへのパラメーターとして日付文字列を使用します。

past = new Date('2012,08,01,10,11,15'.replace(/(\d+),(\d+),(\d+),(\d+),(\d+),(\d+)/, '$1/$2/$3 $4:$5:$6'));

function mypastformatfunc(str) {
  return str.replace(/(\d+),(\d+),(\d+),(\d+),(\d+),(\d+)/, '$1/$2/$3 $4:$5:$6')
}
于 2012-09-13T15:59:56.427 に答える