如何在PHP中获取本地时区?

如何在PHP中获取本地时区?,php,datetime,date,time,timezone,Php,Datetime,Date,Time,Timezone,我正在使用date(“D,m/D/Y h:I:sa T”)函数调用获取当前日期时间,但返回的时间与我在linux bash命令中创建日期时获取的时间不同(本地时间在CST中,php日期函数在UTC中返回时间)。我试过使用$timezone=@system(“date+%Z”,$retval)获取时区,尝试使用date\u default\u timezone\u set()函数设置本地时区。但是CST似乎不是有效的时区标识符 简而言之,我只需要获得与本地datetime相同的日期和时间。使用来自

我正在使用
date(“D,m/D/Y h:I:sa T”)
函数调用获取当前日期时间,但返回的时间与我在linux bash命令中创建日期时获取的时间不同(本地时间在CST中,php日期函数在UTC中返回时间)。我试过使用
$timezone=@system(“date+%Z”,$retval)
获取时区,尝试使用
date\u default\u timezone\u set()
函数设置本地时区。但是CST似乎不是有效的时区标识符

简而言之,我只需要获得与本地datetime相同的日期和时间。

使用来自的时区

因此,对于CST使用:

<?php
date_default_timezone_set("America/Chicago");

尽管系统和PHP应位于同一时区,但请阅读文档以手动设置时区


请注意,CST不是有效的时区设置。为您的位置找到一个。

我想我已经找到了一个更好的函数:
时区\u name\u from_abbr()

再次,请停止在您的帖子上签名。好的。我不知道这是被禁止的。因为是第一个。请注意,用户可能不是芝加哥人。虽然确实是CT,但最好使用您的特定区域设置。问题是我需要以编程方式完成它,这样我就无法在每次需要时都复制准确的有效时区\ U标识符。我唯一拥有的值是CST或UTC等等…@StephaneKouakou我已经为只有时区缩写的情况添加了示例代码我想我已经找到了一个更好的函数:timezone_name_from_abbr()如果你想从*nix服务器获取默认值,timezone_name_from_abbr(exec('date+%Z'))避免您使用静态条目如果这是正确答案,请将其标记为正确。
<?php
date_default_timezone_set(timezone_name_from_abbr("CST"));