PHP&系统日期不同 [英] PHP & system dates are different
本文介绍了PHP&系统日期不同的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
系统和PHP之间的日期/时间不同。
I am getting different dates/times between system and PHP.
系统:
$ date
Tue Nov 3 19:16:51 EAT 2015
PHP :
echo date("D M j G:i:s T Y");
-> Tue Nov 3 16:16:23 UTC 2015
即使系统已将PHP默认设置为UTC具有不同的时区。我该如何使PHP选择系统日期/时间?
It appears PHP is defaulting to UTC even though the system has a different time zone. How can I make PHP pick system date/time?
注意:出于维护原因,我避免对时区进行硬编码。
Note: I am avoiding hard-coding the timezone, for maintenance reasons.
谢谢。
推荐答案
似乎没有简单的方法(独立于系统)来获取系统日期/时间在PHP中,但这似乎可行:
There seems to be no easy (system independent) way of getting system date/time in PHP, but this seems to work:
$timezone = 'UTC';
if (strtoupper(substr(PHP_OS, 0, 3)) === 'WIN') {
$timezone = exec('tzutil /g');
} else {
$timezone = exec('date +%Z');
}
$localTimezone = new DateTimeZone($timezone);
$myDateTime = new DateTime(date(), $localTimezone);
echo ($myDateTime->format('D M j G:i:s T Y') );
我没有在Windows上进行过测试,但在Linux上却可以工作。
I haven't tested on Windows but on Linux it works.
这篇关于PHP&系统日期不同的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文