Viac na
Konverzia reťazca na Date a DateTime
Ak mám reťazec PHP vo formáte mm-dd-YYYY
(napríklad 10-16-2003), ako ho mám správne previesť na Date
a potom na DateTime
vo formáte YYYY-mm-dd
? Jediný dôvod, prečo sa pýtam na Date
a DateTime
, je ten, že jedno potrebujem na jednom mieste a druhé na inom mieste.
271
3
Na prevod prvého dátumu použite
strtotime()
a potomdate('Y-m-d')
:Všimnite si, že je rozdiel medzi použitím lomítka vpred
/
a pomlčky-
vo funkciistrtotime()
. Citujem z php.net:Dátumy vo formátoch m/d/y alebo d-m-y
Pri formátoch m/d/Y a m-d-Y musíte byť opatrní. PHP považuje
/
za m/d/Y a-
za d-m-Y. V tomto prípade by som explicitne opísal formát vstupu:Takto nie ste odkázaní na rozmary určitej interpretácie.
Edit: konštruktorovi DateTime() môžete tiež odovzdať DateTimeZone, aby ste zabezpečili vytvorenie dátumu pre požadované časové pásmo, nie pre predvolené pásmo servera.