PHP解析日期从字符串

问题描述:

我收到了来自API的日期字符串,这样PHP解析日期从字符串

“2013-07-09T04:58:23.075Z” 回应

我怎么能分析该字符串,说改变格式

2013年7月9日[4时58分23秒]

在Ti我的确不是基于我当地的时间,我认为.075Z应该改​​变一些时间。

在此先感谢您的帮助。

您可以使用DateTime object来做到这一点。

$Date = new DateTime('2013-07-09T04:58:23.075Z'); //create dateTime object 
$Date->setTimezone(new DateTimeZone('Europe/Amsterdam')); //set the timezone 

echo $Date->format('d/m/Y H:i'); 
+0

它似乎有效。它知道由于75Z是指距离UTC或GMT排序时间75分钟? – Ardeus

+1

@Ardeus 0.075为75微秒,Z(发音为祖鲁语)表示时间以UTC表示。 – vascowhite

+0

.075是毫秒(而不是微秒)。 – rew

试试这个

$date = '2013-07-09T04:58:23.075Z'; 
$seconds = strtotime($date); 

echo date('Y-m-d [H:i:s]', $seconds); 

希望它能帮助!

+0

这是最简单的。 – Orangepill

+0

那么时区呢? – Benz

$time = "2013-07-09T04:58:23.075Z"; 
$exp = explode('T',$time); 
echo $exp[0] .' [' .substr($exp[1], 0, -5) . ']'; 

我以这种方式使用它。

@Benz

只需添加如下:

 
date_default_timezone_set('Australia/Brisbane'); 

echo date('d/m/Y H:i', strtotime('2013-07-09T04:58:23.075Z')); 

是完成了!希望这个帮助。