为了账号安全,请及时绑定邮箱和手机立即绑定

php中的时区转换

php中的时区转换

PHP
一只斗牛犬 2019-06-21 13:04:53
php中的时区转换有人能建议一种简单的方法将日期和时间转换为php中的不同时区吗?
查看完整描述

3 回答

?
慕妹3146593

TA贡献1820条经验 获得超9个赞

可以为此使用datetime对象或它们的函数别名:

例(PHP手册节录)

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对象中的时间转换为此时区,或者(如果db支持的话)使用选定的时区进行查询。


查看完整回答
反对 回复 2019-06-21
?
狐的传说

TA贡献1804条经验 获得超3个赞

一个更简单的方法如下所示:

date_default_timezone_set('Europe/London'); 
// your user's timezone$my_datetime='2013-10-23 15:47:10';echo date('Y-m-d H:i:s',strtotime("$my_datetime UTC"));

如所述在PHP手册中,strtotime()也接受时区,只需将其附加到日期时间。

我建议您将所有的约会时间存储在UTC,因为这样您就不会有夏时制问题。


查看完整回答
反对 回复 2019-06-21
?
杨魅力

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);


查看完整回答
反对 回复 2019-06-21
  • 3 回答
  • 0 关注
  • 1155 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信