Sedan (runt) PHP 5.2 har PHP haft en inbyggd klass/objekt för att hantera datum och tider, kallad DateTime . I ett tomrum är det alltid bättre att använda en inbyggd än att själv bråka med de röriga detaljerna.
DateTime-konstruktorn (eller funktionen date_create) accepterar ett datum i alla format som strToTime förstår. Allt du behöver veta om strToTime är det magiska voodoo som korrekt känner igen ett datum i nästan alla strängformat. När jag först stötte på strToTime hade jag samma interna reaktion som du har nu ("det är bullshit/verkar opålitligt"). Det är inte. Det fungerar bara på ett sätt som din egen bräckliga förståelse av dejter aldrig kommer att göra (och om du tror att du förstår dejter så gör du inte det. Lita på mig.)
Så dra informationen från MySQL som en datum/tid-sträng och skapa omedelbart ett PHP-datumobjekt. Använd metoden datumformat (med några behändiga konstanter ) när/om du behöver datumet igen som en sträng.