Conversión de fechas
La mayoría de la conversión de tipos de datos es relativamente sencilla. Sin embargo, el tratamiento de fechas y horas merece una mención especial. En su forma más básica, una fecha u hora se puede representar como una cadena, por ejemplo, '2021-03-01 00:03:50'
se refiere al 1 de marzo de 2021 a las 3:50 A.M. El problema es que hay una gran cantidad de información distinta que se transmite y no hay una forma fácil de extraer porciones individuales. ¿Qué pasaría si quisiera recuperar solo el mes? Puede intentar analizar la cadena extrayéndola de una posición específica o entre ciertos caracteres, pero esto puede ser tedioso. También es propenso a errores. Después de todo, hay muchas maneras de dar formato a fechas y horas. El método que utilice para analizar la cadena anterior no funcionará si el valor tiene el formato 'March 1st, 2021'
.
Para solucionar estos problemas, la mayoría de los lenguajes de programación implementan un tipo especial de tipo de datos llamado fecha y hora. Cada lenguaje lo implementa de manera diferente, pero todos tienden a cumplir el mismo propósito: almacenar una fecha u hora en un formato coherente que sea fácil de extraer componentes individuales y lo suficientemente flexible como para permitirle recuperar el componente, como el mes, como el entero 3
o la cadena 'March'
.
En muchos casos, si extrae una fecha u hora sin procesar de un archivo de texto o un tipo de base de datos, el entorno de programación no lo entiende. Simplemente extraerá el valor como una cadena. Sin embargo, también puede configurar el entorno para analizar explícitamente los valores como una fecha y hora. La mayoría de los entornos son lo suficientemente inteligentes como para detectar las diferentes formas de escribir una fecha y hora, por lo que si algunas fuentes usan YYYY-MM-DD
y otras fuentes deletrean todo el asunto, no necesariamente tiene que preocuparse por hacerlas coherentes. Siempre y cuando ambos se reconozcan como fechas y horas y se analicen como fechas y horas, debería ser bueno que lo haga. Si el entorno en el que extraen los datos no puede convertir automáticamente los valores a fecha y hora, es posible que deba usar otras bibliotecas para hacerlo manualmente.