我使用以下函数将时间转换为字符串。
function datetime_to_text($datetime = ""){
$d_t = strtotime($datetime);
return strftime("%B %d, %Y at %I:%M %p", $d_t);
}
MYSQL字段类型为timestamp
。
我将上述功能用作datetime_to_text($article['article_time']);
输出为January 01, 1970 at 01:00 AM
答案 0 :(得分:1)
Strtotimes返回
成功时返回时间戳,否则返回FALSE。在PHP 5.1.0之前,此函数在失败时返回-1。
似乎函数失败并返回false。传递给期望int的函数时。 False被强制转换为0。
时间戳0是Unix纪元,即1970年1月1日。
检查strtotime功能是否失败并进行处理。
答案 1 :(得分:1)
因为您传递$ datetime变量值不是日期格式。 请尝试以下代码
function datetime_to_text($datetime){
$datetime = date("Y-m-d H:i:s");
$d_t = strtotime($datetime);
$d_t = trim($d_t);
echo strftime("%B %d, %Y at %I:%M %p", $d_t);
}
$ex_date = date("Y-m-d H:i:s");
datetime_to_text($ex_date);