我开始寻求在此处获取本文档的更新日期,但鉴于我对这个主题的了解有限,我遇到了一些障碍。
- 如何达到我想要的实际时间戳。
上述 XML 文件的片段如下所示:
<data type="current observations">
<time-layout time-coordinate="local">
<start-valid-time period-name="current">2013-05-27T13:53:00-04:00</start-valid-time>
</time-layout>
</data>
我尝试了以下操作,但收到了无效的表达式警告。
$weather = simplexml_load_file('http://...');
$time=$weather->xpath('//data[@type="current observations"]/"time-layout"/"start-valid- time"');
echo $time[0];
希望得到以下信息:2013-05-27T13:53:00-04:00
接下来我尝试基于此设置默认时区。我知道时间戳背面的 -04:00 表示与 UTC 的差异。以下是我一起破解的一个解决方案,它可以工作,但我并不喜欢这种方法,所以任何关于如何更好地做到这一点的改进或建议都会更好。
$time_UTC= substr($time,0,-6);
$offset = substr($time,19,-3);
$offsetfloat = (float)$offset;
$timezoneName = timezone_name_from_abbr("", $offsetfloat*3600, false);
date_default_timezone_set($timezoneName);