Od (około) PHP 5.2 PHP ma wbudowaną klasę/obiekt do obsługi dat i godzin o nazwie DateTime . W pustce zawsze lepiej jest użyć wbudowanego niż samemu zmagać się z niechlujnymi szczegółami.
Konstruktor DateTime (lub funkcja date_create) akceptuje datę w dowolnym formacie rozumianym przez strToTime. Wszystko, co musisz wiedzieć o strToTime, to magiczne voodoo, które poprawnie rozpozna datę w prawie każdym formacie ciągu. Kiedy po raz pierwszy spotkałem strToTime, miałem taką samą wewnętrzną reakcję, jak teraz („to bzdura/wydaje się niewiarygodne”). To nie jest. To po prostu działa w taki sposób, że twoje własne, kruche zrozumienie dat nigdy nie będzie (a jeśli myślisz, że rozumiesz daty, to nie. Zaufaj mi).
Tak więc, pobierz informacje z MySQL jako ciąg daty/godziny i natychmiast utwórz obiekt daty PHP. Użyj metody date_format (z niektórymi przydatnymi stałymi ) kiedy/jeśli potrzebujesz daty ponownie jako ciągu.