2012-12-05 15 views
11

Czy istnieje metoda klasy DateTime, która działa podobnie do podstawowej funkcji PHP: strtotime()?strtotime() Metoda analogowa klasy DateTime

Na przykład strtotime('last monday');

+1

Tak, '$ date = new DateTime (" 2012-01-25 19: 44: 49.123 "); echo $ dt-> getTimestamp(); '. – shadyyx

+0

"Analogowy" w jaki sposób? – deceze

+0

@deceze Zgaduję, że wartość, którą zwraca ... – shadyyx

Odpowiedz

21

To byłoby DateTime::__construct:

$date = new DateTime('Sunday'); 
+0

Niestety, konstruktor 'DateTime' nie ma parametru' $ now', takiego jak 'strtotime'. Czy jest jakiś inny sposób poinformowania konstruktora, od którego daty należy obliczać? – Czechnology

+18

'(nowy DateTime (" teraz ")) -> Modyfikuj (" + 5 dni ")' – deceze

+0

Dzięki, nie mogłem zrozumieć tego z dokumentów! – Czechnology

3

myślę szukasz DateTime.createFromFormat()

http://php.net/manual/en/datetime.createfromformat.php

+0

'createFromFormat()' wcale nie przypomina 'strtotime()'. Ta ostatnia przyjmuje niemal nieskończoną różnorodność czasów/dat, w tym względne, takie jak 'next Sunday' i' Dec. po pierwsze, użytkownik musi określić dokładny format, który będzie analizowany w pierwszym z nich. –

5

Jako strtotime() powraca długo datownika UNIX DateTime ma metoda getTimestamp().

$date = new DateTime('2012-01-25 19:44:49.123'); 
echo $date->getTimestamp(); 
+0

Powtarza to dobrze wyjście wyjścia strtotime(). Alternatywą jest '(new DateTime (" 2012-01-25 19: 44: 49.123 ")) -> format (" U ");' –