sql >> データベース >  >> RDS >> Mysql

PHPの日時スタンプが正しいことを確認しますか?

    [誰かが良い(バグのない)、動作するcheckdate()の例が来るまで]私はこの関数を使用しています:

    <?php 
    function validateMysqlDate( $date ){ 
        if (preg_match("/^(\d{4})-(\d{2})-(\d{2}) ([01][0-9]|2[0-3]):([0-5][0-9]):([0-5][0-9])$/", $date, $matches)) { 
            if (checkdate($matches[2], $matches[3], $matches[1])) { 
                return true; 
            } 
        } 
        return false; 
    } 
    
    // check it: 
      $a = validateMysqlDate('2012-12-09 09:04:00');
      $b = validateMysqlDate('20122-12-09 09:04:00');
      $c = validateMysqlDate('2012-12_09 09:04:00');
      $d = validateMysqlDate('');
      var_dump( $a );
      var_dump( $b );
      var_dump( $c );
      var_dump( $d ); 
    ?>
    

    ところで:checkdate()は、有効なmysql datetimeではありませんが、$bに対してtrueを返します



    1. テーブルをマスクして参照整合性を維持する方法

    2. 'X'キロメートル(またはマイル)内の都市の検索

    3. mysql codeigniter phpでselectを使用して一致したキーワードをカウントする方法は?

    4. SQLクエリで期間の合計を計算する