谁能建议一种简单的方法来将日期和时间转换为php中的不同时区?
您可以为此使用datetime对象或其函数别名:
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');
编辑评论
但我无法使用此方法,因为当用户从不同位置登录时,我需要在不同时区显示日期
那不是问题。用户登录后,您将确定其时区并将其设置为DateTime对象,如图所示。我在我的一个项目中使用了类似的方法,它的工作原理很吸引人。
在数据库中,我需要获取任何单个时区中的日期,然后只有它才能正确处理
您可以将时间存储为一个时区中的时间戳或日期时间。查询DateTime字段时,您可以将DateTime对象中的时间转换为该时区,或者- 如果您的数据库支持,则使用选定的时区进行查询。