我已经查看了SO上的其他解决方案,他们似乎都没有在以下方面解决时区/ dst问题 .
我正在调用NOAA Tide Prediction API和NOAA National Weather Service API,这需要传递一个时间范围来检索数据 . 对于我的数据库中的每个位置,我将时区作为UTC偏移量以及是否观察到夏令时(1或0) . 我'm trying to format some dates (todays and tomorrow) to be what the LST (Local Standard Time) would be in it'自己的时区所以我可以传递给这些API .
我无法弄清楚如何知道日期(例如今天)是否在夏令时范围内 .
这是我到目前为止:
// Get name of timezone for tide station
// NOTE: $locationdata->timezone is something like "-5"
$tz_name = timezone_name_from_abbr("", $locationdata->timezone * 3600, false);
$dtz = new DateTimeZone($tz_name);
// Create time range
$start_time = new DateTime('', $dtz);
$end_time = new DateTime('', $dtz);
$end_time = $end_time->modify('+1 day');
// Modify time to match local timezone
$start_time->setTimezone($dtz);
$end_time->setTimezone($dtz);
// Adjust for daylight savings time
if( $locationdata->dst == '1' )
{
// DST is observed in this area.
// ** HOW DO I KNOW IF TODAY IS CURRENTLY DST OR NOT? **
}
// Make call to API using modified time range
...
我该怎么做呢?谢谢 .