我正在尝试将linux server timestamp
转换为formatted local date
字符串。
$timestamp
是1429800741
,expected date string
是"2015/4/23 14:52:21"
,但是我用date("Y/n/j H:i:s", $timestamp)
的地方,结果是"2015/4/23 06:52:21"
,是8 hours slower
。
我用命令行"date -R"
检查了我的服务器,它显示"Thu, 23 Apr 2015 14:55:59 +0800"
.
在 php 中,函数date_default_timezone_get() echo "Asia/Shanghai".
看起来我所有的时区都设置正确,为什么格式化的字符串是错误的?
有人请帮助我,谢谢!!
我在电脑上没有合适的时间,但我相信这是解决您问题的适当方法,也许您会进一步解决这个问题:
$datetime = new DateTime();
$datetime->setTimestamp('1429800741');
$datetime->setTimezone(new DateTimeZone('Asia/Shanghai'));
echo $datetime->format('Y/n/j H:i:s P');
需要将时间戳添加到日期函数中:
date("Y/n/j H:i:s", $timestamp);