Thinkphp通过前端实现根据用户所在区域格式化对应时区的时间

设置方法:

  • php 中的 time 是生成的 1970年1月1日的格林尼治时间
  • php 的date() 函数是根据php的服务器所在的时区进行格式化的
    因此会存在 时区异常的问题
    所以可以使用 date_default_timezone_set 修改当前时区
   `var shiqv = new Date().getTimezoneOffset()/60;` // 使用js获取当前格林尼治 时间 中国是-8 这个函数返回的是分钟所以需要除以60

因为tp 控制器会继承 base 所以就写到base 的构造函数中


    function __construct() {
    
        
        parent::__construct();
        $this->settimeshiqv(); // 放到入口文件里
        $uid = session('user_id');
        if (!$uid) {
            $uid = cookie('user_id');
        }
        if($uid){
            model('admin/Users')->auto_check_up_vip($uid);
        }
   if (sysconf('isopenpcindex')) {
        $dev = new \org\Mobile();
        $t = $dev->isMobile();
        if (!$t) {
                 $this->redirect('/download');
            }
            
        }
        
        
public function settimeshiqv(){
        $times=   $uid = cookie('shiqv'); //通过cookie 保存
        
        if($times>0){
            $times="+".$times;
        }
        
        date_default_timezone_set("Etc/GMT".$times);

        return true;
    }

我是写在登陆里的 然后直接 setcookie 在每一次请求的时候都会触发 所以就实现了全局动态修改时区

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
ThinkPHP6中,可以通过Ucenter实现用户注册登录,以下是代码示例: 1. 安装Ucenter扩展包 在项目根目录下执行以下命令安装Ucenter扩展包: ``` composer require topthink/think-ucenter ``` 2. 配置Ucenter参数 在项目配置文件`config/ucenter.php`中配置Ucenter参数: ```php return [ // Ucenter配置参数 'uc' => [ 'url' => 'http://ucenter.example.com', // Ucenter接口地址 'key' => 'your-ucenter-key', // Ucenter的通信密钥 'appid' => 'your-ucenter-appid', // Ucenter的应用ID ] ]; ``` 3. 创建用户模型 创建一个用户模型`app\model\User.php`,并继承Ucenter提供的`think\ucenter\User`类: ```php namespace app\model; use think\ucenter\User as UcenterUser; class User extends UcenterUser { // 自定义用户模型属性和方法 } ``` 4. 用户注册 在用户注册的控制器中,可以通过以下代码实现用户注册: ```php use app\model\User; class Register { public function index() { $user = new User(); $result = $user->register('username', 'password', 'email'); // 用户名、密码、邮箱 if ($result['status'] == 1) { // 注册成功 } else { // 注册失败 } } } ``` 5. 用户登录 在用户登录的控制器中,可以通过以下代码实现用户登录: ```php use app\model\User; class Login { public function index() { $user = new User(); $result = $user->login('username', 'password'); // 用户名、密码 if ($result['status'] == 1) { // 登录成功 } else { // 登录失败 } } } ``` 6. 用户退出 在用户退出的控制器中,可以通过以下代码实现用户退出: ```php use app\model\User; class Logout { public function index() { $user = new User(); $user->logout(); // 退出成功 } } ``` 以上就是通过Ucenter实现用户注册登录的代码示例。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值