我在数据库中插入了很多日期。他们中的大多数写得正常,所以我可以使用strtotime
来获得像'1299XXXXXX'那样的时间。
但是,有些日期是这样写的:日/月/年小时/分/秒
echo strtotime('12/03/2011 18:00:52'); //this will get 132293165220
因此,我无法在我的数据库中插入所有日期。如何解决问题?感谢。
答案 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'
答案 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'));