Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/243.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP 5.x strotime未正确解析英国格式d-m-y_Php_Mysql_Date_Strtotime_Date Formatting - Fatal编程技术网

PHP 5.x strotime未正确解析英国格式d-m-y

PHP 5.x strotime未正确解析英国格式d-m-y,php,mysql,date,strtotime,date-formatting,Php,Mysql,Date,Strtotime,Date Formatting,我已经使用相同的代码5年多了,PHP5.x,突然发现strotime和UK日期格式出现了问题。我写了这个小脚本来测试: <?php echo "<br /><b>PostDate: 1-7-15</b>"; $format="d-m-y"; $date="1-7-15"; $c = strtotime($date); echo "<br /><b>Unix TS: - ".$c."</b>"; $a = date($f

我已经使用相同的代码5年多了,PHP5.x,突然发现strotime和UK日期格式出现了问题。我写了这个小脚本来测试:

<?php
echo "<br /><b>PostDate: 1-7-15</b>";
$format="d-m-y";
$date="1-7-15";
$c = strtotime($date);
echo "<br /><b>Unix TS: - ".$c."</b>";
$a = date($format,$c) ;
echo "<br /><b>Unix TS to date - ".$a."</b>";
echo "<br /> <br />";
echo "<br /><b>PostDate: 7/1/15</b>";
$format="m/d/y";
$date="7/1/15";
$c = strtotime($date);
echo "<br /><b>Unix TS: - ".$c."</b>";
$a = date($format,$c) ;
echo "<br /><b>Unix TS to date - ".$a."</b>";
?>
你可以清楚地看到,英国版本是不正确的,美国版本是正确的。英国版本未正确转换为Unix时间戳

就像我之前说的,我已经用strotime这种方法很多年了,突然这些结果?我疯了吗

我换了行:

$c = strtotime($date);
致:

它适用于所有日期格式,甚至是d M y。真奇怪…

我换了一行:

$c = strtotime($date);
致:


它适用于所有日期格式,甚至是d M y。真奇怪…

你测试过其他php版本吗?我试过5.4、5.5、5.6和7.0。7.0立即破坏了我的代码,所以我跑去找掩护。谢谢你的编辑。你测试过其他php版本吗?我试过5.4、5.5、5.6和7.0。7.0立即破坏了我的代码,所以我跑去找掩护。谢谢你的编辑。下次再拿吧。
$c=strtotime(date($format, strtotime($date)));