首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PHP 5.x strtotime无法正确解析UK格式d-m-y

PHP 5.x strtotime无法正确解析UK格式d-m-y
EN

Stack Overflow用户
提问于 2016-07-16 10:34:41
回答 1查看 33关注 0票数 1

我使用相同的代码已经有几年了,PHP5.x,突然在5+和UK的日期格式上遇到了问题。我写了这个小脚本来测试:

代码语言:javascript
复制
<?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>";
?>

这将输出以下内容:

代码语言:javascript
复制
PostDate: 1-7-15
Unix TS: - 995173200
Unix TS to date - 15-07-01


PostDate: 7/1/15
Unix TS: - 1435726800
Unix TS to date - 07/01/15

你可以清楚地看到,英国的版本是不正确的,美国的版本是正确的。英国版本未正确转换为Unix时间戳。

就像我之前说的,我多年来一直这样使用strtotime,突然出现了这些结果?我是不是疯了?

EN

回答 1

Stack Overflow用户

发布于 2016-07-16 12:28:10

我改了行:

代码语言:javascript
复制
$c = strtotime($date);

至:

代码语言:javascript
复制
$c=strtotime(date($format, strtotime($date)));

而且它适用于所有的日期格式,甚至是d M y。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38407160

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档