2

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

有人能帮我吗

4

7 回答 7

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));
于 2013-02-14T07:47:56.587 回答
1
date('M-d ,Y h:i A',strtotime($create_date))

试试这个 strtotime 将时间转换为时间戳,然后你可以格式化日期。

于 2013-02-14T07:45:08.493 回答
1

DATE_FORMAT如果你想通过查询来使用,

SELECT DATE_FORMAT('2013-02-12 21:42:45','%b-%e, %Y %l:%i %p') result
于 2013-02-14T07:46:04.687 回答
0

date()函数需要一个时间戳作为第二个参数。使用DateTime对象创建日期,然后创建DateTime::format函数。

$date = new DateTime($create_date);
echo $date->format('M-d ,Y g:i A');
于 2013-02-14T07:46:52.163 回答
0

读取日期的 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 代码的默认时区...不确定这在您的用例中是否重要

于 2013-02-14T07:48:12.290 回答
0

检查$create_date你的变量date('M-d ,Y',$create_date)。它是空白的。此变量中没有值。为此,它显示 1970。在 中指定日期$create_date

于 2013-02-14T07:49:34.560 回答
0

但如果您需要以不同格式显示日期,最好将其作为时间戳存储在数据库中。在 php 上,这个值可以由函数 time() 生成;

于 2013-02-14T07:50:39.790 回答