我正在尝试将时间戳转换为时间和日期,但即使我之前已经这样做,我也遇到了问题。这是我得到的时间戳的一个例子:
2013-07-22 22:22:55
但是当我尝试使用
解析它时$date = date('d-m-Y', $update->timestamp);
我收到以下错误。
遇到PHP错误严重性:
注意消息:遇到一个非常好的数值 文件名:parts / update_item.php
行号:13
遇到PHP错误严重性:警告
消息:date():依赖系统的时区设置是不安全的。您 必需使用date.timezone设置或 date_default_timezone_set()函数。如果您使用其中任何一个 方法,你最有可能仍然得到这个警告 拼写错误的时区标识符。我们选择了“America / Denver” 'MST / -7.0 /无DST'而不是 文件名:parts / update_item.php
行号:13
答案 0 :(得分:2)
使用strtotime
将日期时间转换为unix_timestamp。
$date = date('d-m-Y', strtotime($update->timestamp));
答案 1 :(得分:1)
请使用以下功能设置您的默认时区。
date_default_timezone_set();
有关详细信息,请转到http://php.net/manual/en/function.date-default-timezone-set.php
链接此外,您应该使用以下代码。您收到错误,因为在日期函数的第二个参数中,您应该设置时间戳值,而不是通过“2013-07-22 22:22:55”。 strtotime函数将返回成功时间戳。
$date = date('d-m-Y', strtotime($update->timestamp));
答案 2 :(得分:1)
日期函数期望第二个参数是一个数字时间戳(比如time()的返回值),“2013-07-22 22:22:55”字符串是一个非数字的字符串值,你需要首先将其转换为数值:
$date = date('d-m-Y', strtotime('2013-07-22 22:22:55'));
或在你的情况下:
$date = date('d-m-Y', strtotime($update->timestamp));
答案 3 :(得分:1)
2013-07-22 22:22:55不是时间戳。
strtotime('2013-07-22 22:22:55');
答案 4 :(得分:0)
您的第一个日期参数应为Y-m-d