PHP获取具有特定偏移量的日期

PHP获取具有特定偏移量的日期,php,Php,这是我的问题。我需要获得中央时间(UTC-0600)的当前日期Y-m-d,忽略夏令时 目前我找到的一个选择是 $date = new \DateTime('now', new \DateTimeZone('Canada/Saskatchewan')); echo $date->format('Y-m-d'); 我唯一的问题是,如果那个时区想要尊重夏令时,我会退出。这也适用,但仅适用于PHP5.5.18+: $date = new \DateTime('now', new \DateTim

这是我的问题。我需要获得中央时间(UTC-0600)的当前日期
Y-m-d
,忽略夏令时

目前我找到的一个选择是

$date = new \DateTime('now', new \DateTimeZone('Canada/Saskatchewan'));
echo $date->format('Y-m-d');
我唯一的问题是,如果那个时区想要尊重夏令时,我会退出。这也适用,但仅适用于PHP5.5.18+:

$date = new \DateTime('now', new \DateTimeZone('-0600'));
echo $date->format('Y-m-d');
我认为我当前的服务器将支持
new\DateTimeZone('-0600')
,但如果这是处理这种情况的最合适的方法,我还没有100%支持

在PHP中获取UTC-0600日期的最准确方法是什么?还是我应该坚持我现在得到的


谢谢

您是否尝试过函数
gmdate
?@VasilShaddix我不确定
gmdate()
在这种情况下会有什么帮助,因为它总是以格林尼治标准时间返回日期。我需要中央标准时间的日期。你能详细解释一下吗?我不完全理解你的问题,你想得到时区的
Y-d-m
,并尊重夏令时的变化吗?@VasilShaddix如果不清楚,很抱歉。我需要全年获取CST(UTC-0600)的日期,忽略夏令时。我只是想确认我上面使用的方法是最好的,或者是否有更好的方法来处理这个问题。问题是我正在与之通信的API要求我发送一个AuthDate,该AuthDate不能在将来出现。目前我使用的时区是
America/Chicago
,但到了周日的夏令时,所有请求都将在23:00-00:00无效。因此,我正在寻找一个更好的时区。您是否尝试过函数
gmdate
?@VasilShaddix我不确定
gmdate()
在这种情况下会有什么帮助,因为它总是以GMT返回日期。我需要一个以中央标准时间为单位的日期。你能详细解释一下吗?我不完全理解你的问题,你想得到时区的
Y-d-m
,并尊重夏令时的变化吗?@VasilShaddix如果不清楚,很抱歉。我需要全年获取CST(UTC-0600)的日期,忽略夏令时。我只是想确认我上面使用的方法是最好的,或者是否有更好的方法来处理这个问题。问题是我正在与之通信的API要求我发送一个AuthDate,该AuthDate不能在将来出现。目前我使用的时区是
America/Chicago
,但到了周日的夏令时,所有请求都将在23:00-00:00无效。所以我在寻找一个更好的时区。