首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PHP的strtotime()不适用于4月的缩写(apr)

PHP的strtotime()不适用于4月的缩写(apr)
EN

Stack Overflow用户
提问于 2016-04-04 20:18:23
回答 3查看 472关注 0票数 0

写作时:

代码语言:javascript
复制
echo date('H:i:s', strtotime('Mar-29-2016')) . "<br />";
echo date('H:i:s', strtotime('Apr-3-2016'));

我希望能得到:

代码语言:javascript
复制
00:00:00
00:00:00

但实际上:

代码语言:javascript
复制
00:00:00
16:16:00

改为:

代码语言:javascript
复制
echo date('H:i:s', strtotime('March 29 2016')) . "<br />";
echo date('H:i:s', strtotime('April 3 2016'));

按预期工作,输出:

代码语言:javascript
复制
00:00:00
00:00:00

那我不明白吗?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2016-04-04 20:21:46

尝试:

代码语言:javascript
复制
echo date('H:i:s', strtotime('Apr-03-2016'));

strtotime函数希望得到一个包含英语日期格式的字符串,并尝试将该格式解析为Unix时间戳。

票数 1
EN

Stack Overflow用户

发布于 2016-04-04 20:28:07

“4月3日-2016年”不是有效的PHP复合日期/时间字符串。将您的字符串转换为strtotime()可以识别的内容。例如,将下面的第一个结果(您的字符串)与其他一些选项进行比较:

代码语言:javascript
复制
echo date('r', strtotime('Apr-3-2016')) . "\n"; 
echo date('r', strtotime('3-Apr-2016')) . "\n";
echo date('r', strtotime('2016-04-03')) . "\n";
echo date('r', strtotime('4/3/2016'))   . "\n";

Sun, 03 Apr 2016 16:16:00 -0400
Sun, 03 Apr 2016 00:00:00 -0400
Sun, 03 Apr 2016 00:00:00 -0400
Sun, 03 Apr 2016 00:00:00 -0400

将您的“4月3日-2016年”格式转换为“3月-4月-2016年”,例如:

代码语言:javascript
复制
$date = "Apr-3-2016";
list($m, $d, $y) = explode("-", $date);
$newdate = join("-", array($d, $m, $y));
票数 1
EN

Stack Overflow用户

发布于 2016-04-04 20:27:25

Apr-3-2016似乎不是一种有效的日期格式。来自php文档

代码语言:javascript
复制
Month abbreviation, day and year    M "-" DD "-" y  "May-09-78", "Apr-17-1790"
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36412142

复制
相关文章

相似问题

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