如何使用PHP的时区偏移量?

时间:2016-09-15 14:37:00

标签: php

我只是不了解GMT如何使用你的php sql服务器时间。如何将您的数据库与分钟偏移量相关联?因此,如果这产生-420分钟,我们如何将其与我们的数据库时间相关联(例如unix时间2016-09-14 22:40:31)(你的NOW()时间)?

我只是不确定如何在PHP中实现它?在你得到你的分钟数后,我发现了一些关于如何使用它的模糊信息。

`date_default_timezone_set('America/Boise');`

$created=date('Y-m-d H:i:s');

我从下面得到了以下代码:

https://stackoverflow.com/a/5492192/6173198

function TimezoneDetect(){
    var dtDate = new Date('1/1/' + (new Date()).getUTCFullYear());
    var intOffset = 10000; //set initial offset high so it is adjusted on the first attempt
    var intMonth;
    var intHoursUtc;
    var intHours;
    var intDaysMultiplyBy;

    //go through each month to find the lowest offset to account for DST
    for (intMonth=0;intMonth < 12;intMonth++){
        //go to the next month
        dtDate.setUTCMonth(dtDate.getUTCMonth() + 1);

        //To ignore daylight saving time look for the lowest offset.
        //Since, during DST, the clock moves forward, it'll be a bigger number.
        if (intOffset > (dtDate.getTimezoneOffset() * (-1))){
            intOffset = (dtDate.getTimezoneOffset() * (-1));
        }
    }

    return intOffset;
}
alert(TimezoneDetect()); 

1 个答案:

答案 0 :(得分:0)

您可以使用以下代码设置时区:

date_default_timezone_set('Europe/London');

此代码会在时间戳上添加+1小时。

$timestamp= strtotime("+1 hour");

我希望这就是你所要求的。

您还可以使用与将时间戳转换为文本时相同的内容:

gmdate("H:i", $timestamp);