我想转换1373892900000
to Monday 2013/07/15 8:55 AM
在代码点火器中。
但是,通过使用我编写的函数转换时间戳,我不断收到完全不同的结果,请注意:我需要根据不同的时区更改日期,这就是为什么我想这样写:
public function time_convert($timestamp){
$this->load->helper('date');
date_default_timezone_set('UTC');
$daylight_saving = TRUE;
$timezone = "UM4"; //toronto or new york timezone
$time = gmt_to_local($timestamp, $timezone, $daylight_saving);
$final_time = standard_date('DATE_RFC822', $time);
return $final_time;
}
上述函数的结果是:Sat, 08 Dec 06 01:40:00 +0000
如果我不放date_default_timezone_set('UTC');
在上面的函数中,我得到了这个日期Sat, 08 Dec 06 02:40:00 +0100
。我的 codeigniter 似乎将时区默认为欧洲/柏林。
谁能帮我纠正我可能犯的错误吗?
为什么不直接使用 PHP 的日期函数呢?
public function time_convert($timestamp){
return date('l Y/m/d H:i', $timestamp);
}
对于不同的时区,使用 DateTime 对象:
public function time_convert($timestamp, $timezone = 'UTC'){
$datetime = new DateTime($timestamp, new DateTimeZone($timezone));
return $datetime->format('l Y/m/d H:i');
}
认为应该有效。注意:我认为 TimeZone 类至少需要 PHP 5.20 版本。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)