PHP strotime转换在某些日期时间不起作用

PHP strotime转换在某些日期时间不起作用,php,datetime,strtotime,Php,Datetime,Strtotime,我正试图对web服务结果集中的datetime条目(从不为null)执行strtotime 当循环和cnoverting时,我发现很多都无法使用strotime进行转换。问题是什么?有效的和无效的格式没有区别 1431109502 - 08-05-2015 13:25:02 - 06-15-2015 12:05:32 -- Didn't work (any that start with - didn't convert) - 06-25-2015 11:30:30 - 06-15-2015 1

我正试图对web服务结果集中的datetime条目(从不为null)执行strtotime

当循环和cnoverting时,我发现很多都无法使用strotime进行转换。问题是什么?有效的和无效的格式没有区别

1431109502 - 08-05-2015 13:25:02
- 06-15-2015 12:05:32 -- Didn't work (any that start with - didn't convert)
- 06-25-2015 11:30:30
- 06-15-2015 10:58:56
- 06-27-2015 20:33:31
- 06-28-2015 00:13:37
1431054141 - 07-05-2015 22:02:21
- 07-17-2015 07:23:57
- 07-22-2015 02:30:24
1431090998 - 08-05-2015 08:16:38
1433774646 - 08-06-2015 09:44:06
编辑:下面是我用来尝试获得100%转换的一些代码

$t = date_create_from_Format( 'd-m-Y H:i:s', trim($arrCurrentAlarms[$i]["DateTime"]) );
$sqldt = $t->format('Y-m-d H:i:s');
给我的输入始终采用以下格式:06-25-2015 11:30:30
(月-日-年-小时-分钟-秒)

这是因为strotime对您的日期的猜测是错误的:

date('r', strtotime('08-05-2015 13:25:02')) -> Fri, 08 May 2015 13:25:02 -0500
date('r', strtotime('06-25-2015 11:30:30')) -> Wed, 31 Dec 1969 18:00:00 -0600
请注意,第一个值出现在5月8日:strotime将您的日期视为
dd-mm-yyyyy
,而您实际拥有
mm-dd-yyyy

请注意,第二个日期是1969年12月,这就是整数
0
(又称布尔假)在我的特定时区中是如何显示为日期的。失败为FALSE,因为日历中没有月
25


由于猜测是错误的,因此您必须改为使用
date\u-create\u-from\u-format()
,并告诉php日期的格式。

您能显示代码吗?仍然很奇怪的想法添加到操作-谢谢。放弃了strotime…发现了我的错误-在我的操作中,你会看到我的'd-m-Y'是错误的-我把它改成'm-d-Y',现在一切似乎都正常了!感谢您的澄清-我确实开始尝试使用date_create_from_格式(更新请参见原始帖子),但即使是在某些时间戳上也失败了。