2013-01-16 48 views
-6

我正在使用剪切粘貼代碼,它將時間和日期戳記以這種格式保存在mysql中,格式爲DD/MM/YY HH:MM:SS PM。 當它執行日期卡住16/01/13和時間11:59。 我不知道很多的PHP,所以不知道什麼是錯的。Php date()日期和時間卡住了

下面是代碼

$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'); 
     } 
+0

你沒有發短信在這裏,習慣於在商務溝通中輸入整個單詞。 – KevinDTimm

+0

不會將日期視爲字符串來操作它們,這從來不會奏效。 – 2013-01-16 21:03:19

回答

5

MySQL的標準/本地日期格式爲yyyy-mm-dd hh:mm:ss。如果你喂別的東西,mysql會盡可能地解釋它,但會失敗(就像你的情況一樣)。不要嘗試使用其他格式。而所有爆炸的東西是什麼?如果你要處理的日期變量,那麼就不要使用那些往返時間從>與字符串> whatever->與字符串> whatever->等...

+0

(除此之外:「*不要嘗試使用其他格式*」 - MySQL當然可以識別[某些其他日期時間文字格式](http://dev.mysql.com/doc/en/date-and-time- literals.html))。 – eggyal

+0

會嘗試使用標準格式,因爲這種格式是我的頭...感謝您的建議! – user1299086

0

你檢查出

strtotime 

您將享受該功能。

這樣的事情可能適合你

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

沒有必要讓所有日期瘋了...