目前我正在使用这行代码
echo date("F j Y g:i:s", $row[date]);
但它只是给了我January 1 1970 2:33:31
我也希望它看起来很正常,因为如果我根本不做date("F j Y g:i:s",
,我得到的只是2011-03-02 23:00:30
,这是正确的日期,但以非常异常的方式显示
答案 0 :(得分:5)
在查询中对UNIX_TIMESTAMP进行Typecast:
SELECT UNIX_TIMESTAMP(YourDateField) FROM YourTable
由于我忽略了对其他答案的回答,请让我详细说明:
有两种常见的日期类型。两者实际上都是数字,表示自给定日期以来的持续时间。
如果您获得了第一个日期,但将其视为第二个格式,那么您将计算几天的秒数。而不是自1900年以来的111年,自1970年以来,你的计数是111秒。这就解释了为什么你得到那个日期。
因此,请使用UNIX_TIMESTAMP函数,该函数将第一个浮点表示法转换为以秒为单位的时间戳。这是必需的,因为这也是PHP使用的类型。
答案 1 :(得分:3)
您可能需要使用strtotime,日期函数需要第二个参数为unix时间戳
date("F j Y g:i:s", strtotime($row[date]));
如果您需要不同的格式,可以查看此页面:Date formatting
你可能想要这样的东西:
date("Y-m-d H:i:s", strtotime($row[date]));