我的datetime
类型表中有一列。我想以特定格式显示它们,所以我尝试使用它:
echo date( 'm/d/Y - g:h A', strtotime($dateFromMySQL) );
......完全把一切都搞砸了。
如果我只是echo $dateFromMySQL;
(在一个循环中),我得到了这个:
2011-09-10 01:03:04
2011-09-10 00:52:47
2011-09-10 00:40:26
等等...
......这是正确的。
如果我echo strtotime($dateFromMySQL);
,我明白了:
1315630984
1315630367个
1315629626个
等等...
......这可能是正确的。我不知道。
然而,当我echo date( 'm/d/Y - g:h:s A', strtotime($dateFromMySQL) );
时,我明白了:
09/10/2011 - 1:01:04 AM 09/10/2011 - 12:12:47上午 09/10/2011 - 12:12:26 等等...
......这显然是错误的。
所以,我的问题是,我做错了什么?
我在某种程度上没有正确使用strtotime
和date
吗?
答案 0 :(得分:2)
它应该是m / d / Y - g: i :s A
答案 1 :(得分:1)
您使用了错误的日期格式h
正确行为
date( 'm/d/Y - g:i:s A' ...
PHP日期函数中的h & i
是什么?
h = 12小时格式的一小时前导零 i =带前导零的分钟
答案 2 :(得分:1)
我认为你正在寻找m/d/Y - g:i:s A
。
h
- 小时
i
- 分钟
答案 3 :(得分:0)
是。你要求12小时格式的小时,然后24小时格式的小时。
使用'g:i:s'
代替'g:h:s'
。
此外,我在尝试时收到警告:
PHP警告:strtotime():依赖系统是不安全的 时区设置。您必需使用date.timezone设置 或者date_default_timezone_set()函数。如果您使用过任何一个 那些方法,你最有可能仍然得到这个警告 拼写错误的时区标识符。我们选择了“欧洲/柏林” 第1行的命令行代码中的'CEST / 2.0 / DST'而不是
所以这可能是 - 或成为 - 另一个问题。