Php strotime()未转换为时间戳
我有一个循环,其中的日期是以不同的格式出现的,比如对于某些值,它将类似于Php strotime()未转换为时间戳,php,mysql,date,unix-timestamp,Php,Mysql,Date,Unix Timestamp,我有一个循环,其中的日期是以不同的格式出现的,比如对于某些值,它将类似于'10-13-2013 04:31',对于某些值,它类似于'2013-10-14T22:14:40-0700'。我试图将其作为datetime/timestamp列的值存储在DB中,但第一种格式是10-13-2013 04:31,它失败了。因此,我尝试使用strotime()将其转换为UNIX时间戳。它对某些值起作用,并为值存储零,如'10-13-2013 04:31'。我认为这是因为它将第二个值视为月份,因此失败。我的代码
'10-13-2013 04:31'
,对于某些值,它类似于'2013-10-14T22:14:40-0700'
。我试图将其作为datetime/timestamp列的值存储在DB中,但第一种格式是10-13-2013 04:31
,它失败了。因此,我尝试使用strotime()
将其转换为UNIX时间戳。它对某些值起作用,并为值存储零,如'10-13-2013 04:31'
。我认为这是因为它将第二个值视为月份,因此失败。我的代码如下:
foreach($reports as $report){
echo strtotime($report->transactionDate);
}
strotime()
无法分析mm dd yyyy
格式。相反,您应该像这样使用:
$date = '10-13-2013 04:31';
$obj = DateTime::createFromFormat('m-d-Y H:i', $date);
$date = $obj->format('Y-m-d H:i:s');