2016-05-09 16 views
0

UnixのタイムスタンプからFRENCH GMT DATEを取得したい。 私のデータベースでは、GMT + 0で日付を保存しました。この日付のタイムスタンプを取得して、GMT + 2で日付を表示したいです。UnixのタイムスタンプをGMTの日付に変換するPHP

私のタイムスタンプは:データベースからの1461857633です。/04/2016 12:27:11 今、私は地元のGMTでこの日付を表示したいと思います。 だから私はこのでした:29:

$timestamp = 1461857633; 
$format = 'd/m/Y H:i:s'; 
$res = date($format, $timestamp); 
echo $res; 

を、私は同じ日付を持っている私のタイムゾーンがよく「ヨーロッパ/パリの がNormaly私はこの日付を持っているべきであるとして29/04/2016 12時27分11秒/ 2016/04夜2時27分11秒

+0

'date_default_timezone_set( 'ヨーロッパ/パリ)の両方の夏と冬時間を動作しますか;'? –

答えて

0

あなたは、単にタイムスタンプに2時間を追加することもできますし、DateTimeオブジェクトを作成し、それを2時間を追加することによって、それを変更することができます

$timestamp = 1461857633 + 2 * 60 * 60; 

または

$dateTime = new DateTime(); 
$dateTime->setTimestamp(1461857633)->modify('+2 hours'); 
echo $dateTime->format('d/m/Y H:i:s'); 

または、別の解決策は、あなたがに変換するタイムゾーンなど(GMT + 0)グリニッジタイムゾーン間の秒を計算するために、次のようになります。

$greenwichTimeZone = new DateTimeZone('Greenwich Mean Time'); 
$parisTimeZone = new DateTimeZone('Europe/Paris'); 
$dateTimeGreenwich = new DateTime('now', $greenwichTimeZone); 

$seconds = $parisTimeZone->getOffset($dateTimeGreenwich); 
$dateTime = new DateTime(); 
$dateTime->setTimestamp(1461857633 + $seconds); 
echo $dateTime->format('d/m/Y H:i:s'); 
+0

私の意見では、あなたの答えから2時間を追加することについての部分を削除する必要があります。冬にはGMTとの時間差はわずか1時間です。 – Andreas

+0

ああ..答えの両方の部分が約2時間プラスであることは分かりませんでした。 – Andreas

0

$タイムスタンプ= 1461857633;

$ effectiveDate = strtotime( "+ 120分"、$タイムスタンプ);

$ format = 'd/m/Y H:i:s'; $ res = date($ format、$ effectiveDate);

echo $ res;

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; 

これは

関連する問題