2016-01-23 177 views
2

我想要的時間格式是2016-01-19T06:22:00.000Z(YYYY-MM-DDThh:mm:ss.sssZ);但是,我得到這種格式:2016-01-19T06:22:00+01:00PHP轉換爲YouTube時間格式(ISO 8601)

這裏是我的代碼:

$before = "2016-01-19 06:22:00"; 
$after = date('c', strtotime($before)); 

echo "Before: $before\n"; 
echo "After: $after"; 

這裏的fiddle

+2

http://php.net/manual/en/function.date.php#115228 – CBroe

+0

@CBroe,感謝,但'$ =之後(新的DateTime($ before)) - > format(DateTime :: ISO8601);'產生'2016-01-19T06:22:00 + 0100'。我需要它的格式與「2016-01-19T06:22:00.000Z」完全一樣,因爲YouTube不接受其他格式的我。 – Pamela

+2

那麼你可以很容易地創建它自己,通過將其他格式字符代表的個別日期部分以正確的順序放在一起。 – CBroe

回答

1
$before = "2016-01-19 06:22:00"; 
$after = (new DateTime($before))->format('Y-m-d\TH:i:s.s\Z'); 

echo "Before: $before\n"; 
echo "After: $after"; 
2

你的意思是這樣的:

$before = "2016-01-19 06:22:00"; 
$format = 'Y-m-d\TH:i:s.uO'; 
$after = date($format, strtotime($before)); 

echo "Before: $before<br/>"; 
echo "After: $after"; 
+0

謝謝。這比我最初使用的更接近,但仍然返回'2016-01-19T06:22:00.000000 + 0100'。我正在尋找Mihai的答案。 – Pamela

相關問題