2013-07-09 196 views
4

我收到了來自API的日期字符串,這樣PHP解析日期從字符串

「2013-07-09T04:58:23.075Z」 迴應

我怎麼能分析該字符串,說改變格式

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

在Ti我的確不是基於我當地的時間,我認爲.075Z應該改​​變一些時間。

在此先感謝您的幫助。

回答

9

您可以使用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

1

試試這個

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

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

希望它能幫助!

+0

這是最簡單的。 – Orangepill

+0

那麼時區呢? – Benz

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

我以這種方式使用它。

-1

@Benz

只需添加如下:

 
date_default_timezone_set('Australia/Brisbane'); 

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

是完成了!希望這個幫助。