La clase DateTime tiene algunos métodos útiles y parece en general superior a las funciones nativas de fecha php como strtotime
, mktime
y strftime
(y más). ¿Pero hay algún inconveniente o una razón por la que no debería usarlo?Clase DateTime frente a funciones de fecha PHP nativas
La única razón por la que puedo pensar es que podría ser más costoso crear una instancia completa de una clase que simplemente usar una función.
- ¿Estás de acuerdo con eso?
- ¿Tiene algún sentido para nosotros un objeto DateTime para cosas simples?
- ¿Hay algún otro inconveniente?
Parece un poco confuso para cambiar entre esas dos opciones todo el tiempo, por lo que me gustaría tener autorización lo que preferiría hacer.
Dos ejemplos para mi decisión serían:
- La conversión de una fecha a un valor localizado
- Calcular el tiempo entre dos fechas
más el rango de fechas, incluso en un entorno de PHP de 32 bits, es suficiente para mantener feliz a un paleobiólogo o un cosmólogo estudiando el comienzo o el final del universo –
Veo la 'manejabilidad' de DateTime, pero ¿también usaría para cosas simples como las que acabo de agregar a mi pregunta? – Anonymous
Lo haría, porque tomemos las funciones 'mktime' o' strtotime' - requieren cierto orden de parámetros que representan el día, año, mes, hora, etc. Con 'DateTime' puedo crear el objeto usando parámetros arbitrarios como' $ date = DateTime :: createFromFormat ('m H: s D-Y', $ weird_user_input); 'que luego puede formatearse en la marca de tiempo de unix o en cualquier otro formato de fecha que desee. Incluso puedo especificar el huso horario inmediatamente al crear el objeto. Así que sí, definitivamente lo usaría, ya que realmente no veo en qué forma procedimental podría ayudarme mejor. –