日期:2014-05-17  浏览次数:20460 次

日期加上时差的计算方法--急!!!!!

date_default_timezone_set('Etc/GMT');
$now = mktime(date('H'),date('i'),date('s'),date('m'),date('d'),date('Y'))+$timezone*60*60*1000;
$site_date = date("g:i A(D)",$now);


其中timezone是时差。为何我这么用,获取时间不对啊。。

请高手帮忙解决。

------解决方案--------------------
$t = time();
echo date('北京时间 Y-m-d H:i:s', $t), '<br>';
date_default_timezone_set('Etc/GMT');
echo date('格林威治时间 Y-m-d H:i:s', $t), '<br>';

for($i=1; $i<=12; $i++) {
  date_default_timezone_set("Etc/GMT-$i");
  echo date("东 $i 区时间 Y-m-d H:i:s", $t), '<br>';
}
北京时间 2013-01-09 14:14:01
格林威治时间 2013-01-09 06:14:01
东 1 区时间 2013-01-09 07:14:01
东 2 区时间 2013-01-09 08:14:01
东 3 区时间 2013-01-09 09:14:01
东 4 区时间 2013-01-09 10:14:01
东 5 区时间 2013-01-09 11:14:01
东 6 区时间 2013-01-09 12:14:01
东 7 区时间 2013-01-09 13:14:01
东 8 区时间 2013-01-09 14:14:01
东 9 区时间 2013-01-09 15:14:01
东 10 区时间 2013-01-09 16:14:01
东 11 区时间 2013-01-09 17:14:01
东 12 区时间 2013-01-09 18:14:01

------解决方案--------------------
引用:
引用:用法:
Echo Fun::now('Y-m-d H:i:s',time());//2012-10-30 00:13:40
Echo Fun::now('Y-m-d H:i:s');//2012-10-30 00:13:40
Echo Fun::now();//1351527292
Echo time();//135152729……

因為我把這個new封裝進了Fun這個class裡了,你用的時候可以直接Echo now('Y-m-d H:i:s',time());//2012-10-30 00:13:40