0

の形式で HTML オブジェクトから日付オブジェクトを取得し、####-##-##それをエポック時間に変換する方法はありますか。たとえば、ユーザーが 2012 年 8 月 12 日の値を入力すると、その値の .val() を出力すると 2012-08-12 と表示され、これをエポック時間で取得する必要があります。

編集

現在までのコード:

if (hvStartDate == "") {
    hvStartDate = "start"
} 
else {
    console.log($("#hv-start-date").val()); // => 2012-08-20
    hvStartDate = new Date($("#hv-start-date").val()).getTime(); // => NaN
}
if (hvEndDate == "") {
    hvEndDate = "end"
} 
else {
    hvEndDate = new Date($("#hv-end-date").val()).getTime(); // => NaN
}

var myTmp = new Date("2012-08-20");
console.log(myTmp.getTime()); // => NaN
4

2 に答える 2

6

Javascript のDateビルトインを使用すると、日付文字列をそのコンストラクターに渡すことができ、その文字列に基づく Date が得られます。そこから、呼び出すgetTime( )とエポック時間が得られます。

new Date($('.user-value').val()).getTime();  // => epoch time
new Date('2012-08-12').getTime();  // 1344729600000

警告: ロケール文字列とロケール固有の日付形式に注意してください (たとえば、ロケールに応じて日と月の位置が切り替わります)。

編集: 以下のコメントのコードに基づいて、次のことを行う必要があります。を呼び出す前に、新しい Date オブジェクトをインスタンス化する必要があることに注意してくださいgetTime()

if (hvStartDate == "") {
    hvStartDate = "start"
} 
else {
    hvStartDate = new Date($("#hv-start-date").val()).getTime();
}
于 2012-08-20T15:33:59.120 に答える
3

機能を使用するだけgetTime()です。Epoch からのミリ秒数を返します。

  var msSinceEpoch = myDate.getTime();

MDN で完全な日付参照: https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Date

編集:あなたもそれを解析する必要がある場合は、次のことができます:

  • new Date(theString)フォーマットが適切な場合に使用します
  • 解析した後、さまざまな日付フィールドを自分で設定します(参照を参照)
  • 日付解析ライブラリを使用します。私はこれを使用します: http://www.datejs.com/これは、すべての日付の解析、計算、および書式設定に非常に強力です。
于 2012-08-20T15:31:31.677 に答える