如何强制服务器在时区使用时基-PHP

时间:2019-01-14 06:42:20

标签: php

我正在使用php time()函数来获取基于php date_default_timezone_set('Africa / Accra')的当前时间,并存储time( )在DB中,只要用户发布内容或有通知。

此外,我想获得以前的功能,因此我正在使用livetamp插件Livestamp.js

我注意到XAMPP测试服务器上一切正常,但是当我在远程服务器(Godaddy-hosting)上尝试运行时,该时间不是从Just Now-> 1minute-> 2minutes-3minutes .... 1小时,然后向下阅读

我知道这是服务器问题。请我如何解决这个问题? 我希望php将时基存储在我在php中设置的time_zone上,因为我希望用户稍后可以更改其时区,因此php将根据其时区设置存储时基。

我正在使用此功能来获取用户的时区并将其设置在每个页面的顶部。最好的方法是什么?

PHP:

//Default time zone to use when users has not set time_zone in their account
$default_time_zone = "Africa/Accra";

/*Set default time_zone*/
date_default_timezone_set(
    get_timezone( isAppOpen() ? 
    get_user_column('time_zone',getCuID()): 
    $default_time_zone )
);

//validate timezone
function isValidTimezone($timezone) {
return in_array($timezone, timezone_identifiers_list());
}

//get specified timezone
function get_timezone($time_zone){
global $default_time_zone;
if (isValidTimezone($time_zone)) {
return $time_zone;
}else{
return  (in_array($default_time_zone, timezone_identifiers_list()) ? $default_time_zone : "Africa/Accra");
}
}

//isAppOpen
function isAppOpen(){
    if(isset($_SESSION["AdminsessionID"]) || isset($_COOKIE["AdminsessionID"]) || isset($_SESSION["sessionID"]) || isset($_COOKIE["sessionID"]) ){
    return TRUE;
    }else{
    return FALSE;
    };

};

0 个答案:

没有答案