php中的时区转换有人能建议一种简单的方法将日期和时间转换为php中的不同时区吗?
3 回答
![?](http://img1.sycdn.imooc.com/533e4d660001312002000200-100-100.jpg)
慕妹3146593
TA贡献1820条经验 获得超9个赞
date_default_timezone_set('Europe/London');$datetime = new DateTime('2008-08-03 12:35:23');echo $datetime->format('Y-m-d H:i:s') . "\n";$la_time = new DateTimeZone('America/Los_Angeles');$datetime->setTimezone($la_time);echo $datetime->format('Y-m-d H:i:s');
编辑有关评论
但是我不能使用这种方法,因为我需要在不同的时区显示日期作为用户从不同位置登录。
在数据库中,我需要获取任何一个时区中的日期,然后只有它才能被正确地处理。
![?](http://img1.sycdn.imooc.com/533e4d510001c2ad02000200-100-100.jpg)
杨魅力
TA贡献1811条经验 获得超6个赞
function convert_to_user_date($date, $format = 'n/j/Y g:i A', $userTimeZone = 'America/Los_Angeles', $serverTimeZone = 'UTC'){ try { $dateTime = new DateTime ($date, new DateTimeZone($serverTimeZone)); $dateTime->setTimezone(new DateTimeZone($userTimeZone)); return $dateTime->format($format); } catch (Exception $e) { return ''; }}function convert_to_server_date($date, $format = 'n/j/Y g:i A', $userTimeZone = 'America/Los_Angeles', $serverTimeZone = 'UTC'){ try { $dateTime = new DateTime ($date, new DateTimeZone($userTimeZone)); $dateTime->setTimezone(new DateTimeZone($serverTimeZone)); return $dateTime->format($format); } catch (Exception $e) { return ''; }}//example usage$serverDate = $userDate = '2014-09-04 22:37:22';echo convert_to_user_date($serverDate); echo convert_to_server_date($userDate);
- 3 回答
- 0 关注
- 1155 浏览
添加回答
举报
0/150
提交
取消