Ahora que te he presentado a los personajes de Temporal, es hora de mostrar cómo realizar una tarea de programación. Personalmente, siempre he aprendido mejor haciendo. Así que, espero que esto te muestre lo que puedes hacer con cAPI. He elegido tres tareas para recorrer, una fácil, una media y una complicada. Primero, la fácil.
La tarea fácil es obtener la hora actual como el timestamp en milisegundos. Esta es la pregunta número uno más votada para el antiguo objeto de fecha de JavaScript en Stack Overflow. Así que, naturalmente, querremos poder hacer lo mismo en Temporal. Primero, consideramos qué tipo tenemos que usar. Un timestamp representa un tiempo exacto sin tener en cuenta las zonas horarias. Y así, pensamos en los tipos que mencioné. El tipo que corresponde a ese tiempo exacto, sin zona horaria, es instant.
Lo siguiente, tal vez es algo un poco meta para considerar, es si realmente queremos un timestamp en milisegundos, o si el objeto instant funcionará igual de bien. Creo que en el futuro, a medida que Temporal se adopte más ampliamente, esperaría que los timestamps numéricos sean principalmente necesarios para la interoperación con sistemas no JavaScript, no tanto para aplicaciones JavaScript donde simplemente usaremos instant. Pero para el propósito de este ejemplo, digamos que realmente necesitamos un timestamp numérico. Así que, sabemos qué tipo necesitamos. A continuación, necesitamos saber cómo llenarlo con la hora actual.
Hacemos esto con las funciones en el namespace now. Cualquiera de estas funciones te dará la fecha o la hora o la zona horaria actual en forma de una instancia de uno de los tipos de Temporal. El ISO en el nombre significa que la fecha está en el calendario estándar ISO, y hablaré más sobre calendarios y lo que eso significa más adelante. Pero como necesitamos la hora actual como una instancia, usaremos la primera de esta lista, temporal.now.instant. A continuación, necesitamos averiguar cómo obtener un número de milisegundos desde la época Unix del instant.
Así que, este es un buen momento para hablar sobre cómo obtienes información de fecha y hora de tus instancias de tipos de Temporal. Todos los tipos tienen propiedades de solo lectura que podemos usar para obtener este tipo de información. Así que, aquí en esta diapositiva hay una lista completa de estas propiedades. No todos los tipos tienen todas las propiedades, solo las que tienen sentido para ese tipo. Así que, por ejemplo, year solo está en tipos que tienen calendarios y tampoco en plain month-day. Offset solo existe en zone date-time, y los epoch nanoseconds y propiedades similares solo están en los tipos de tiempo exacto en zone date-time. Así que, en nuestro caso, necesitamos la propiedad epoch milliseconds porque ese es el número de milisegundos desde la época Unix del 1 de enero de 1970, medianoche.
Comments