PHP日期()日期和时间被卡住

时间:2013-01-16 20:55:03

标签: php mysql date datetime

我正在使用剪切粘贴代码,它会将时间和日期戳分解为以DD / MM / YY HH:MM:SS PM格式保存在mysql中。 当它执行时,日期停留在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');
        }

3 个答案:

答案 0 :(得分:5)

mysql的标准/本机日期格式为yyyy-mm-dd hh:mm:ss。如果你提供其他任何东西,mysql会尽可能地解释它,但会失败(就像你的情况一样)。不要尝试使用其他格式。所有爆炸性的东西是什么?如果你想操纵日期变量,那么不要使用所有那些往返时间 - > string-> whatever-> string-> whatever->等...

答案 1 :(得分:0)

你签了吗

strtotime

你会喜欢这个功能。

这样的事情可能适合你

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

没有必要对约会感到疯狂......

答案 2 :(得分:0)

现在您知道TimeStamp / DateTime / Date / Time等的mysql字符串格式。 您可以在简单的过程中为php脚本创建任何格式以使用php Date Time Class 见:http://php.net/manual/en/datetime.createfromformat.php