时间戳需要1970年| PHP

时间:2015-07-22 06:32:08

标签: php mysql

我使用以下函数将时间转换为字符串。

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

2 个答案:

答案 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);