PHP strtotime问题

时间:2011-03-12 18:42:31

标签: strtotime

我在数据库中插入了很多日期。他们中的大多数写得正常,所以我可以使用strtotime来获得像'1299XXXXXX'那样的时间。

但是,有些日期是这样写的:日/月/年小时/分/秒

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

因此,我无法在我的数据库中插入所有日期。如何解决问题?感谢。

3 个答案:

答案 0 :(得分:1)

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

其中'm / d / Y'是您选择的格式:如果想要完整 - > 'm / d / Y H:我:s',

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

更多关于http://us3.php.net/manual/en/function.date.php

答案 1 :(得分:1)

我环顾四周,无法获得任何全面的信息,所以我决定编写自己的日期转换器。参数化良好。

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;
}

答案 2 :(得分:0)

您可以使用date功能提取日期:

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