我想从Unix时间戳获取FRENCH GMT DATE。 在我的数据库中,我在GMT + 0中保存了日期,然后我得到了这个日期的时间戳,并希望用好的GMT + 2显示日期
我的时间戳是:1461857633来自数据库,它等于:29/04/2016 12:27:11 现在我想用本地GMT显示这个日期。 所以我这样做了:
$timestamp = 1461857633;
$format = 'd/m/Y H:i:s';
$res = date($format, $timestamp);
echo $res;
和我有相同的日期29/04/2016 12:27:11因为我的时区很好'欧洲/巴黎' Normaly我应该有这个日期:29/04/2016 14:27:11
答案 0 :(得分:0)
您只需将2小时添加到时间戳,或者您可以创建一个DateTime对象并通过向其添加2小时来修改它:
@Input()
或
$timestamp = 1461857633 + 2 * 60 * 60;
或者,另一个解决方案是计算您想要转换的时区与格林威治时区(GMT + 0)之间的秒数,如:
$dateTime = new DateTime();
$dateTime->setTimestamp(1461857633)->modify('+2 hours');
echo $dateTime->format('d/m/Y H:i:s');
答案 1 :(得分:0)
$ timestamp = 1461857633;
$ effectiveDate = strtotime(" +120分钟",$ timestamp);
$ format =' d / m / Y H:i:s&#39 ;; $ res = date($ format,$ effectiveDate);
echo $ res;
答案 2 :(得分:0)
date_default_timezone_set("UTC");
$HUTC = date("h");
date_default_timezone_set("Europe/Paris");
$HParis = date("h");
$diff = $HParis - $HUTC;
$timestamp = 1461857633;
$timestamp = 1461857633 + $diff * 60 * 60;
$format = 'd/m/Y H:i:s';
$res = date($format,$timestamp);
echo $res;
这将适用于夏季和冬季