2010-06-03 11 views

Odpowiedz

11

Można użyć Datetime z numerem createFromFormat() lub, jeśli nie chcesz samodzielnie tworzyć maski formatu, przekonwertuj ciąg znaków na uniksowy znacznik czasu, używając strtotime().

18
$date = DateTime::createFromFormat('Y-m-d\TH:i:s', '2010-06-03T14:29:00'); 
+0

+1 wielkie dziękuję - doskonale jako alternatywa dla pre-definiowane Format 'DateTime :: ATOM' który jest podobny ale wymaga też strefy czasowej '+00: 00 'np "2005-08-15 T15: 52: 01 + 00: 00". Jeśli masz tylko '2005-08-15T15: 52: 01', wtedy chcesz użyć' $ date = DateTime :: createFromFormat ('Ymd \ TH: i: s'' ... w powyższej odpowiedzi zamiast 'DateTime :: ATOM', ponieważ spowoduje to, że 'createFromFormat' zwróci wartość logiczną false dla' 2005-08-15T15: 52: 01' (na podstawie moich ustaleń). – therobyouknow

1

Pamiętaj, że strtotime() ogranicza do 1 stycznia 1970 roku ze względu na uniksowy znacznik czasu

Powiązane problemy