2011-03-12 89 views
0

我將很多日期插入到數據庫中。他們大多寫入正常,所以我可以使用strtotime來獲得'1299XXXXXX'的時間。PHP strtotime問題

然而,一些日期,是這樣寫的:日/月/年時/分/秒

echo strtotime('12/03/2011 18:00:52'); //this will get 132293165220 

因此,我不能插入所有的日期在我的數據庫。如何解決問題?謝謝。

+0

請問您可以重新翻譯一下您的問題嗎?你是說你的用戶輸入的日期不符合格式? – Dimitry 2011-03-12 18:44:03

回答

1
$temp_date = strtotime('12/03/2011 18:00:52'); 
echo date('m/d/Y', $temp_date); 

其中, 'M/d/Y' 是你選擇的格式:如果想充分 - >「M/d/YH: I:S'

如果僅僅日期部分 - > 'M/d/Y'

更上http://us3.php.net/manual/en/function.date.php

+0

right,use strtotime(date('Y-d-m H:i:s',strtotime('12/03/2011 18:00:52'))); // 1299949252' – 2011-03-12 18:50:25

0

您可以使用date函數抽取日期:

date('h:i:s', strtotime('12/03/2011 18:00:52')); 
1

我LOO ked周圍,並沒有得到任何全面的,所以我決定寫我自己的日期轉換器。好參數化。

function convert_datetime($datestr,$separator,$mysqltouk) { 
    if(!empty($datestr)) 
    { 
     if($mysqltouk=='dmy')   
      { 
     list($y,$m,$d) = explode($separator, $datestr); 
     $mk=mktime(0, 0, 0, $m, $d, $y); 
     $timestamp=strftime('%d-%m-%Y',$mk); 
     } 
     else if ($mysqltouk='ymd') 
      { 
      list($d, $m, $y) = explode($separator, $datestr); 
     $mk=mktime(0, 0, 0, $m, $d, $y); 
     $timestamp=strftime('%Y-%m-%d',$mk); 
      } 
    } 
     return $timestamp; 
}