月度归档:2019年01月

保存高德webApi城市区县数据

<?php
/**
 * Created by PhpStorm.
 * User: damon
 * Date: 2019/1/24
 * Time: 11:03 AM
 */

namespace frontend\controllers;
use frontend\models\Area;
use yii\web\Controller;

/**
 * 获取所有省份数据控制器
 * Class DistrictController
 * @package frontend\controllers
 */
class DistrictController extends Controller
{
    /**
     * 获取中国所有省份数据
     */
    public function actionIndex()
    {
        $arr = ['北京市', '天津市', '上海市', '重庆市', '河北省', '山西省', '辽宁省', '吉林省', '黑龙江省', '江苏省', '浙江省', '安徽省', '福建省', '江西省', '山东省', '河南省', '湖北省', '湖南省', '广东省', '海南省', '四川省', '贵州省', '云南省', '陕西省', '甘肃省', '青海省', '台湾省', '内蒙古自治区', '广西壮族自治区', '西藏自治区', '宁夏回族自治区', '新疆维吾尔自治区', '香港特别行政区', '澳门特别行政区'];
        foreach ($arr as $item){
            $arr = $this->http_query($item)['districts'][0];
            $this->getDistrictData($arr,0);
            echo "======================完成省份:".$item."==============<br/>";
        }

    }


    /**
     * 封装curl调用高德API
     * @param $name
     * @return mixed
     */
    protected function http_query($name){
        $key = '自己到高德账号下申请app的key';//有调用次数限制
        $url = 'https://restapi.amap.com/v3/config/district?key='.$key.'&keywords='.$name.'&subdistrict=2&showbiz=false&extensions=base';

        $ch = curl_init();
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
        curl_setopt($ch, CURLOPT_URL, $url);
        $content = curl_exec($ch);
        curl_close($ch);
        $contentArr = json_decode($content,true);
        return $contentArr;
    }

    /**
     * 递归入库城市和区县数据
     * @param $data
     * @param $parent_id
     */
    public function getDistrictData($data,$parent_id){
        $areaModel = new Area();
        $areaModel->name = $data['name'];
        $areaModel->parent_id = $parent_id;
        $areaModel->citycode = empty($data['citycode'])?'':$data['citycode'];
        $areaModel->adcode = $data['adcode'];
        $areaModel->center = $data['center'];
        $areaModel->level = $data['level'];
        $areaModel->save();
        //如果存在districts节点则循环递归插入数据
        if(isset($data['districts']) && is_array($data['districts'])){
            foreach ($data['districts'] as $k=>$disData){
                $this->getDistrictData($disData,$areaModel->id);
            }
        }
    }

}
1+

centos7 调整时区

查看当前时间设置的状态:

[root@localhost logs]# timedatectl status
Local time: 三 2019-01-09 20:50:09 EST
  Universal time: 四 2019-01-10 01:50:09 UTC
        RTC time: 四 2019-01-10 02:50:08
       Time zone: America/New_York (EST, -0500)
     NTP enabled: no
NTP synchronized: no
 RTC in local TZ: no
      DST active: no
 Last DST change: DST ended at
                  日 2018-11-04 01:59:59 EDT
                  日 2018-11-04 01:00:00 EST
 Next DST change: DST begins (the clock jumps one hour forward) at
                  日 2019-03-10 01:59:59 EST
                  日 2019-03-10 03:00:00 EDT

设置为上海时区:

timedatectl set-timezone Asia/Shanghai
0