PHP 日期转换为 strtotime

PHP date conversion to strtotime

我有一个 array,其中每条记录都有一个 'date' 字段。日期采用以下格式:'10/09/2015'。当我在这些日期上使用 strtotime 时,其中一些会显示为 false。我认为数据结构存在错误,所以我创建了这个简单的 array 和一个简单的 foreach 循环,在某些情况下它们输出 false 。它不喜欢什么?

$dates = [];

$someData = [
    '21/05/2014',
    '22/05/2014',
    '09/06/2014',
    '04/07/2014',
];

foreach($someData as $date) {
    $dates[] = strtotime($date);
}

print_r($dates);die;

您需要了解此处日期的日期格式。 这里 m/d/Y 被认为是标准的美国日期格式。

所以当你的约会对象是

'09/06/2014',//it should be considered as 06 september 2014
'04/07/2014',//it should be considered as 07 april 2014

当你的约会对象像

'21/05/2014',
'22/05/2014',

那么上面的日期不符合美国日期格式的标准,即 m/d/Y 而你可以在这里做的是将 /- 一起替换为你的日期转换为 d-m-Y

的欧洲日期格式

注意 m/d/y 或 d-m-y 格式的日期;如果分隔符是斜杠 (/),则假定为美式 m/d/y。如果分隔符是破折号 (-) 或点 (.),则采用欧洲 d-m-y 格式。为避免潜在的错误,您应该尽可能使用 YYYY-MM-DD 日期或 date_create_from_format()。