我已经在mysql表中存储了一些数据我分配了hime日期
我使用列ID来输入timestamp
,并将其存储为'2013-02-12 21:42:45'
我想以这种格式显示'Feb-2, 2013 9:42 PM'
我使用echo date('M-d ,Y',$create_date)
然后显示'Jan-01 ,1970'
和一些php eroor
。
有人可以帮助我
答案 0 :(得分:6)
这将输出您想要的日期时间格式
<?php
//Output -- Feb-2, 2013 9:42 PM
$create_date = '2013-02-12 21:42:45';
echo date('M-d ,Y g:i a',strtotime($create_date));
答案 1 :(得分:1)
date('M-d ,Y h:i A',strtotime($create_date))
尝试此strtotime转换时间戳,而不是格式化日期。
答案 2 :(得分:1)
如果您想通过查询
,请使用DATE_FORMAT
SELECT DATE_FORMAT('2013-02-12 21:42:45','%b-%e, %Y %l:%i %p') result
答案 3 :(得分:0)
date()
函数需要时间戳作为第二个参数。使用DateTime
对象创建日期,然后使用DateTime::format
函数。
$date = new DateTime($create_date);
echo $date->format('M-d ,Y g:i A');
答案 4 :(得分:0)
在日期阅读php文件:http://php.net/manual/en/function.date.php
日期函数的第二个参数是unix时间戳,而不是字符串(任何格式)
因此您希望将字符串转换为时间戳(可能考虑时区),然后使用它以您希望的方式重新格式化日期:
e.g。
date_default_timezone_set('<timezone of create_date>');
$date = date('M-d ,Y',strtotime($create_date)):
顺便说一句,这段代码将重置所有后续执行的php代码的默认时区...不确定在您的用例中是否重要
答案 5 :(得分:0)
检查$create_date
中的date('M-d ,Y',$create_date)
变量。这是空白的。此变量中没有值。为此,它显示1970年。在$create_date
中分配日期。
答案 6 :(得分:0)
但是如果你需要以不同的格式显示日期,最好将它作为时间戳存储在数据库中。在php上,这个值可以通过函数time();
生成