La classe DateTime ha alcuni metodi pratici e sembra complessivamente superiore alle funzioni di data nativa come strtotime
, mktime
e strftime
(e altro). Ma c'è qualche inconveniente o una ragione per cui non dovrei usarlo?DateTime class vs. native date-functions PHP
L'unica ragione per cui posso pensare è che potrebbe essere più costoso creare un'intera istanza di una classe piuttosto che usare semplicemente una funzione.
- Sei d'accordo?
- Ha senso per noi un oggetto DateTime per cose semplici?
- Ci sono altri svantaggi?
Sembra un po 'di confusione passare da una di queste due opzioni a tutte le ore, quindi mi piacerebbe avere l'autorizzazione che dovrei preferire.
Due esempi per la mia decisione sarebbe:
- Conversione di una data per un valore localizzato
- Calcolo del tempo tra due date
più l'intervallo di date, anche in un ambiente PHP a 32 bit, è sufficiente per mantenere un paleobiologo o un cosmologo che studia l'inizio o la fine dell'universo felice –
Vedo la 'prontezza' di DateTime, ma useresti anche per cose semplici come quelle che ho appena aggiunto alla mia domanda? – Anonymous
Vorrei, perché prendiamo le funzioni 'mktime' o' strtotime' - richiedono un certo ordine di parametri che rappresentano il giorno, l'anno, il mese, l'ora ecc. Con 'DateTime' Posso creare l'oggetto usando parametri arbitrari come' $ date = DateTime :: createFromFormat ('m H: s D-Y', $ weird_user_input); 'che può quindi essere formattato per unix timestamp o qualsiasi altro formato di data che desidero. Posso anche specificare il fuso orario immediatamente durante la creazione dell'oggetto. Quindi sì, lo userei sicuramente dal momento che non vedo davvero dove il modo procedurale mi possa aiutare meglio. –