PHP 亚洲常用时区编码:
亚洲(Asia) | 时区编码 |
---|---|
中国(上海) | Asia/Shanghai |
中国(乌鲁木齐) | Asia/Urumqi |
中国(香港) | Asia/Hong_Kong |
中国(澳门) | Asia/Macau |
中国(台北) | Asia/Taipei |
新加坡 | Asia/Singapore |
泰国(曼谷) | Asia/Bangkok |
阿联酋(迪拜) | Asia/Dubai |
韩国(首尔) | Asia/Seoul |
如果需要获取某个时区的现在时间,可以使用Carbon(一个非常流行的PHP DateTime的API扩展):
$now Carbon::now();
echo $now; /* 2017-03-18 17:44:21 */
$now Carbon::now('Asia/Urumqi');
echo $now; /* 2017-03-18 15:45:13 */
值得注意的是,使用Asia/Urumqi和Asia/Shanghai所得到的时间会不一样,后者比前者晚2个小时。
如果你熟悉Laravel的话,那么Carbon已经在Laravel的Package里了,要使用Carbon,只需要加上
Use Carbon\Carbon;
如果没有使用Laravel,那么可以使用Composer安装Carbon:
$ composer require nesbot/carbon
然后我们就可以使用Carbon了:
<?php
require 'vendor/autoload.php';
use Carbon\Carbon;
printf("Now: %s", Carbon::now());
Carbon的官网有详细的安装及使用指导:
当然,如果不想使用Carbon,也可以使用PHP原生的DateTime:
// 获取指定时区下的当前时间, 本例中使用的是中国/上海时间
$date = new DateTime(null, new DateTimeZone('Asia/Shanghai'));
echo $date->format('Y-m-d H:i:s') . "\n";
DateTime对象可以在PHP官网找到详细的描述:
date()函数及DateTime::format中使用的格式可以参考:
好了,今天就说这么多,欢迎交流和指正。