PHP中的日期/时间格式

时间:2013-02-14 07:43:15

标签: php mysql sql codeigniter

我已经在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

有人可以帮助我

7 个答案:

答案 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();

生成