19 | Fechas y horas |
En Wolfram Language, Now proporciona la fecha y hora actuales.
In[1]:= |
Out[1]= |
Añada una semana a la fecha y hora actuales:
In[2]:= |
Out[2]= |
Ingrese una fecha:
In[1]:= |
Out[1]= |
Puede hacerse aritmética con fechas, por ejemplo, restar una de otra para saber qué tan distantes se encuentran.
Reste una fecha de otra:
In[4]:= |
Out[4]= |
In[5]:= |
Out[5]= |
In[6]:= |
Out[6]= |
Encuentre en qué día de la semana cae el que está a 45 días después de hoy:
In[7]:= |
Out[7]= |
Una vez que se conoce una fecha, pueden hacerse una variedad de cosas con ella. Por ejemplo, MoonPhase da la fase de la luna (o, más precisamente, la fracción de la luna que está iluminada cuando se ve desde la Tierra).
Obtenga la fase de la luna en este momento:
In[8]:= |
Out[8]= |
Obtenga la fase de la luna en una fecha dada:
In[9]:= |
Out[9]= |
Genere un ícono para la fase de la luna:
In[10]:= |
Out[10]= |
Si se conoce la fecha y una ubicación en la Tierra, pueden calcularse las horas de salida y puesta del sol.
In[11]:= |
Out[11]= |
In[12]:= |
Out[12]= |
Se encuentra que la diferencia es casi exactamente un día (24 horas); menos un minuto de variación:
In[13]:= |
Out[13]= |
Las zonas horarias son una de las muchas sutilezas. LocalTime da la hora en la zona horaria de una ubicación determinada.
In[14]:= |
Out[14]= |
In[15]:= |
Out[15]= |
El clima es una de las muchas áreas donde Wolfram Language tiene un amplio espectro de información. La función AirTemperatureData permite dar un historial de la temperatura del aire a cierta hora en alguna ubicación dada.
Encuentre la temperatura del aire aquí, a las 6 p. m. de ayer:
In[16]:= |
Out[16]= |
Dadas dos fechas, AirTemperatureData calcula una serie cronológica de las temperaturas estimadas entre esas dos fechas.
Proporcione una serie cronológica de mediciones de temperatura del aire desde hace una semana hasta hoy:
In[17]:= |
Out[17]= |
DateListPlot es el análogo de ListPlot para series cronológicas, donde cada valor ocurre en una fecha particular.
Muestre la lista de mediciones de la temperatura del aire:
In[18]:= |
Out[18]= |
No es de sorprender que la temperatura sea más alta durante el día que durante la noche, según se muestra en la gráfica.
Un ejemplo más, con datos que cubren períodos de tiempo mucho más antiguos. WordFrequencyData dice con qué frecuencia aparece una palabra dada, por ejemplo, en una muestra de libros publicados en un año determinado. Se puede tener una amplia visión histórica observando los cambios al respecto en el transcurso de años y siglos.
Encuentre la serie cronológica de la frecuencia con la que aparece en inglés la palabra “automobile”:
In[19]:= |
Out[19]= |
Los coches comenzaron a existir alrededor de 1900, pero gradualmente dejó de llamárseles “automobiles”:
In[20]:= |
Out[20]= |
WordFrequencyData está hecho de tal modo que facilita la comparación de frecuencias entre diferentes palabras. Por ejemplo, puede verse cómo se han comportado, en ese sentido, los términos “monarchy” y “democracy” a lo largo de los años. “Democracy” es decididamente más popular en la actualidad, pero “monarchy” lo era en los años 1700s y 1800s.
Compare los historiales de las frecuencias de palabras “monarchy” y “democracy”:
In[21]:= |
Out[21]= |
Now | fecha y hora actuales | |
Today | objeto que se refiere al día de hoy | |
Tomorrow | objeto que se refiere al día de mañana | |
Yesterday | objeto que se refiere al día de ayer | |
DayRange[fecha1,fecha2] | lista de fechas entre fecha1 y fecha2 | |
DayName[fecha] | día de la semana correspondiente a fecha | |
MoonPhase[fecha] | fase de la luna en fecha | |
Sunrise[ubicación,fecha] | hora de salida del sol en fecha, en ubicación | |
Sunset[ubicación,fecha] | hora de la puesta del sol en fecha, en ubicación | |
LocalTime[ubicación] | hora actual en ubicación | |
AirTemperatureData[ubicación,time] | temperatura del aire a la hora time, en ubicación | |
AirTemperatureData[ubicación,{hora1,hora2}] | serie cronológica de temperaturas del aire entre hora1 y hora2, en ubicación | |
DateListPlot[seriecronológica] | presenta gráficamente una serie cronológica | |
WordFrequencyData["palabra","TimeSeries"] | serie cronológica de frecuencias de palabra |
19.4Encuentre la hora local en Delhi. »
19.5Encuentre la duración de luz solar hoy, restando la hora de la salida del sol de la hora de la puesta. »
19.8Genere una lista de íconos de las fases de la luna para los próximos 10 días, a partir de hoy. »
19.9Calcule el tiempo transcurrido entre las horas de salida del sol en Nueva York y en Londres. »
19.11Grafique la temperatura del aire en la Torre Eiffel durante la semana pasada. »
+19.4Haga una gráfica con los puntos unidos de la fase numérica de la luna, para cada uno de los próximos 30 días. »
+19.6Muestre en una columna las horas de salida del sol para los próximos 10 días a partir de hoy. »
¿Cómo se convierte una fecha a una cadena de caracteres?
Use DateString[fecha]. Hay diversas opciones para el formato de la cadena. Por ejemplo, DateString[fecha, "DateShort"] usa las abreviaturas para los nombres de día y mes.
¿Cómo extraer el mes o algún otro elemento de una fecha?
Use DateValue. DateValue[fecha, "Month"] da el número del mes, DateValue[fecha, "MonthName"] da el nombre del mes, etc.
¿Qué tan antiguas pueden ser las fechas en Wolfram Language?
Tanto como se desee. Wolfram Language tiene conocimiento de los sistemas de calendario históricos y de la historia de las zonas horarias. Tiene también información para calcular con precisión las horas de salida del sol, etc. desde 1 000 años atrás.
¿Por qué las horas de salida y puesta del sol se dan solamente con una precisión de minutos?
Porque no puede calcularse con mayor precisión ni la salida ni la puesta del sol sin conocer datos tales como la temperatura del aire, que afectan la curvatura de la luz en la atmósfera terrestre.
¿De dónde obtiene Wolfram Language la información de la temperatura del aire?
De la red global de estaciones meteorológicas ubicadas en aeropuertos y otros lugares. En caso de que el lector posea su propio instrumento de medición de la temperatura del aire, puede conectarlo a Wolfram Language a través de Wolfram Data Drop (ver la Sección 43).
¿Qué es una serie cronológica?
Es una forma de especificar los valores de algo a lo largo de una serie de instantes en el tiempo. Se puede ingresar una serie cronológica en Wolfram Language como
TimeSeries[{{tiempo1, valor1}, {tiempo2, valor22}, ...}]. Wolfram Language permite hacer operaciones aritméticas y de muchos otros tipos con series cronológicas.
Graficar valores correspondientes a instantes de tiempo o a fechas. Los valores pueden darse en una TimeSeries[...] o en una lista de la forma {{tiempo1, valor1}, {tiempo2, valor2}, ...}.
- Wolfram Language decide si hay que interpretar una fecha así: 8/10/15, como mes/día/año o día/mes/año, según el país donde se encuentre. Uno puede escoger la otra interpretación, si así lo desea.
- Monday, etc. son símbolos con significado intrínseco, y no cadenas de caracteres.
- DateObject permite especificar la «granularidad» de una fecha (día, semana, mes, año, década, etc.). CurrentDate, NextDate, DateWithinQ, etc. operan con fechas granulares.
- Se puede ver lo que hay «dentro» de DateObject[...] usando InputForm.