我通过TIMESTAMP存储mysql中的条目日期和默认值UNIX_TIMESTAMP,但是当我把它带回来时,它是2011-08-16 11:43:52并且如果我尝试用它来设置样式
<?= date('F j, o', $a['time']) ?>
它只是将时间戳从零开始,带回1970年12月31日
为什么呢?我该如何解决?
答案 0 :(得分:4)
使用
SELECT UNIX_TIMESTAMP(field)
在UNIX_TIMESTAMP()
列上使用TIMESTAMP
时,该函数直接返回内部时间戳值,没有隐式的“字符串到Unix时间戳”转换。
答案 1 :(得分:1)
MySQL TIMSTAMP
列存储为YYYY-MM-DD HH-MM-SS
,即使您输入UNIX_TIMESTAMP
,它仍将以该格式存储。
所以你可以做的是:
<?= date('F j, o', strtotime($a['time'])) ?>
答案 2 :(得分:0)
date()
取一个数字而不是字符串。无论内部表示如何,MySQL始终将您的日期作为字符串返回。试试这个:
<?php echo date("F j, o", strtotime($a['time']); ?>