2

私には2つの日付があり、1つはある日付が別の日付より前に来るかどうかを確認するためのものです。日付を JS 日付オブジェクトに解析し、ミリ秒単位でチェックする必要があることはわかっています。

しかし問題は、私のデータベースでは dateTimes がこのように保存されていることです。

10-mei-2012 09:36

私の質問は、これらの日付のうちの 2 つを比較して、日付 ​​1 が日付 2 より前に来ることを確認するにはどうすればよいですか? ああ、記録のために、私はこれらの値を取得するために jquery も使用しています。

var dateB = $('#DATUM_BEGIN').val();
var dateE = $('#DATUM_EINDE').val();

敬具

ステフ

4

4 に答える 4

5

その形式では、文字列をそのまま比較でき、安全です。だから

if (dateB < dateE) ...
于 2012-05-10T08:01:03.423 に答える
0

http://www.datejs.com/が役立つ場合があります。日付を比較するjqueryプラグインです。

于 2012-05-10T08:02:10.710 に答える
0

表示する形式は、「ほとんど」ISO-8601結合日付形式であり、設計上プレーンテキストに匹敵します。

あなたが持っているものと純粋な ISO-8601 の唯一の違いは、スペース文字がある場所に「T」が必要になることです。

http://en.wikipedia.org/wiki/ISO_8601

したがって、文字列を並べ替えることができれば、どちらが最初に来るかがわかります。

于 2012-05-10T08:05:28.643 に答える
-2

これは、MySQL DATETIME を JS オブジェクトに変換するグーグル中に見つかった関数です。

function mysqlTimeStampToDate(timestamp) {
  var regex=/^([0-9]{2,4})-([0-1][0-9])-([0-3][0-9]) (?:([0-2][0-9]):([0-5][0-9]):([0-5][0-9]))?$/;
  var parts=timestamp.replace(regex,"$1 $2 $3 $4 $5 $6").split(' ');
  return new Date(parts[0],parts[1]-1,parts[2],parts[3],parts[4],parts[5]);
}

使用方法の一例を次に示します。

$(function(){
  var dateB = mysqlTimeStampToDate($('#DATUM_BEGIN').val());
  var dateE = mysqlTimeStampToDate($('#DATUM_EINDE').val());

  if(dateB < dateE){
    // dateB is older
  } else {
    // dateB is newer
  }
});
于 2012-05-10T08:04:44.743 に答える