我面臨這個問題在我的date
顯示少開一天我有這個unix timestamp
1275429600
這應該是02-06-2010
卻是露出01-06-2010
爲什麼我的一天是從Unix時間戳少開一天在PHP
我的預期輸出:02-06-2010
但得到01-06-2010
這裏是我的代碼,我試過。
$timestamp=1275429600;
echo gmdate("d-m-Y", $timestamp);
我面臨這個問題在我的date
顯示少開一天我有這個unix timestamp
1275429600
這應該是02-06-2010
卻是露出01-06-2010
爲什麼我的一天是從Unix時間戳少開一天在PHP
我的預期輸出:02-06-2010
但得到01-06-2010
這裏是我的代碼,我試過。
$timestamp=1275429600;
echo gmdate("d-m-Y", $timestamp);
的差異是由於你的時區&格林威治時區的時區差。
gmdate
表現爲date
方法,只不過它返回格林威治標準時間(GMT)返回的時間。
GMT: Tue, 01 Jun 2010 22:00:00 GMT
Your time zone: 2010-6-2 03:30:00 GMT+5:30
試試這個希望這會幫助你。
希望第一行文檔gmdate能夠告訴所有事情本身。
<?php
ini_set('display_errors', 1);
date_default_timezone_set("asia/kolkata");
echo date("d-m-Y", 1275429600);
輸出: 02-06-2010
@EaB希望你在找什麼.. –
gmdate是GMT時間,而不是在你的時區的日期。
因此您需要使用Date('Z')
其中z
是UTC UTC偏移的區域指示符。
<?php
date_default_timezone_set("Asia/Kolkata");
$timestamp=1275429600;
echo gmdate("d-m-Y", $timestamp + date("Z"));
?>
檢查時區 echo date_default_timezone_get();
可以設置時區
date_default_timezone_set(時區);
你的時區設置?因爲'1275429600'是'2010年6月1日22:00:00 GMT/UTC',因此預期的輸出不應該是'02-06-2010' –
使用此'date_default_timezone_set'來設置默認時區。 –
我在亞洲時區我,亞洲/ kolkata – EaB