-7

時間と日付のスタンプを爆発させて mysql に DD/MM/YY HH:MM:SS PM の形式で保存するカット ペースト コードを使用しています。実行すると、日付は 16/01/13 に固定され、時刻は 11:59 に固定されます。私はあまりPHPを知らないので、何が悪いのかわかりません。

ここにコードがあります

    $datm9=date("d/m/y h:i:s A");
                //explode the date
                    $datm_pass=explode(" ",$datm9);
                    $datm_pass_set = $datm_pass[1].$datm_pass[2];
                    $hours_test = explode(":",$datm_pass[1]);
                    $hours_t = $hours_test[0];
                    $hoursext_t =$datm_pass[2];
            //if only for the date 

                if(($hours_t=='12' && $hoursext_t=='AM')or ($hours_t=='01' && $hoursext_t=='AM') or ($hours_t=='02' && $hoursext_t=='AM') or ($hours_t=='03' && $hoursext_t=='AM')){

                    $datm_pass_set_d = explode("/",$datm_pass[0]);
                    $fd=($datm_pass_set_d[0]-1);
                    $dat_fix = $fd."/".$datm_pass_set_d[1]."/".$datm_pass_set_d[2];

                    //09/11/11 11:59:49 AM
                    $datm = $dat_fix." "."11:59:49 AM";
                    //$datm=date("d/m/y h:i:s A");  
                    $today=$dat_fix;        
            }else{

            $datm=date("d/m/y h:i:s A");
            $today=date('d/m/y');
        }
4

3 に答える 3

5

mysql の標準/ネイティブの日付形式はyyyy-mm-dd hh:mm:ss. 他のものをフィードすると、mysql は可能な限りそれを解釈しますが、(あなたの場合のように) 失敗します。別の形式を使用しようとしないでください。そして、すべての爆発物とは何ですか?日付変数を操作したい場合は、時間->文字列->任意の->文字列->任意の->などからのすべてのラウンドトリップを使用しないでください...

于 2013-01-16T21:03:53.377 に答える
0

チェックアウトしましたか

strtotime

その機能をお楽しみいただけます。

このようなものがあなたに合うかもしれません

//convert date
function convertDate($date, $into = 'F jS, Y') {
    $asdate = strtotime($date);
    $asdate = date($into, $asdate);
    return $asdate;
}

日付に夢中になる必要はありません...

于 2013-01-16T21:09:42.793 に答える
0

これで、TimeStamp/DateTime/Date/Time などの mysql 文字列形式がわかりました。PHP スクリプトの任意の形式を簡単なプロセスで作成して、php Date Time Class を参照してください: http://php.net/manual/en/datetime. createfromformat.php

于 2013-01-16T21:33:02.900 に答える