2014-02-19 72 views
1

我使用类似于$lasobs_time=$lasxml->data->METAR->observation_time;的行调用XML <observation_time>2014-02-19T22:56:00Z</observation_time>的节点。这行代码就像一个冠军,我能够INSERT INTO我的数据库就好了。将一个变量分隔为4

我想知道是否有办法将observation_time:2014-02-19T22:56:00Z转换为超过4个字段/变量我将能够更好地工作;也许$ obsyear:2014 $ obsmonth:02 $ obsday:19 $ obstime:2256 UTC。

explode是最好的选择吗?我会怎么做呢?

+1

使用\操作\存储整个日期通常更喜欢,有什么不能你与整个日期做到这一点需要拆分它 – 2014-02-20 00:01:14

+0

它总是一个良好的初步实践存储日期他们的方式,你正在做的,而不是分裂,你总是可以操纵它们 – Fabio

+0

函数[strptime](http://us2.php.net/manual/en/function.strptime.php)可能会有所帮助。它返回一个数组,并将一个字符串作为参数 – Newbi3

回答

2

date_parse_from_format()应该这样做。

$date  = date_parse_from_format("Y-m-d\TH:i:sT", $lasxml->data->METAR->observation_time); 
$obsyear = $date["year"]; 
$obsmonth = $date["month"]; 
$obsday = $date["day"]; 
$obstime = "$date[hour]$date[minute]"; 
+0

太棒了,看起来好像会做伎俩。谢谢你miken32。 – Fadebent