我已经在 mysql 表中存储了一些数据,我分配了他的日期
,我使用列 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
。
有人能帮我吗
我已经在 mysql 表中存储了一些数据,我分配了他的日期
,我使用列 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
。
有人能帮我吗
这将输出您想要的日期时间格式
<?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));
date('M-d ,Y h:i A',strtotime($create_date))
试试这个 strtotime 将时间转换为时间戳,然后你可以格式化日期。
DATE_FORMAT
如果你想通过查询来使用,
SELECT DATE_FORMAT('2013-02-12 21:42:45','%b-%e, %Y %l:%i %p') result
该date()
函数需要一个时间戳作为第二个参数。使用DateTime
对象创建日期,然后创建DateTime::format
函数。
$date = new DateTime($create_date);
echo $date->format('M-d ,Y g:i A');
读取日期的 php 文件:http: //php.net/manual/en/function.date.php
date 函数的第二个参数是 unix 时间戳,而不是字符串(任何格式)
所以你想将你的字符串转换为时间戳(也许考虑到时区),然后用它来按照你想要的方式重新格式化你的日期:
例如
date_default_timezone_set('<timezone of create_date>');
$date = date('M-d ,Y',strtotime($create_date)):
顺便说一句,此代码将重置所有随后执行的 php 代码的默认时区...不确定这在您的用例中是否重要
检查$create_date
你的变量date('M-d ,Y',$create_date)
。它是空白的。此变量中没有值。为此,它显示 1970。在 中指定日期$create_date
。
但如果您需要以不同格式显示日期,最好将其作为时间戳存储在数据库中。在 php 上,这个值可以由函数 time() 生成;