Temporal: Fechas y Tiempos Modernos en JavaScript

Rate this content
Bookmark

¿Alguna vez has sido engañado por una de las muchas trampas del objeto JS Date? ¿Agrupas datos de zona horaria? ¡Entonces echa un vistazo a Temporal! Temporal es una propuesta de TC39 que actualmente se está implementando en motores JS, que trae un mejor manejo de fechas y tiempos, y conciencia de zonas horarias, a JS. Esta charla es un recorrido por lo que necesitas saber sobre Temporal, pasando por una tarea simple, una media y una complicada, cada una resuelta con Temporal.

This talk has been presented at JSNation US 2024, check out the latest edition of this JavaScript Conference.

 Philip Chimento
Philip Chimento
22 min
21 Nov, 2024

Comments

Sign in or register to post your comment.
Video Summary and Transcription
Hoy hablaré sobre la propuesta temporal, que agrega manejo moderno de fechas y tiempos a JavaScript. Temporal es una API que estará disponible en navegadores pronto y agregará una biblioteca incorporada para fechas y tiempos, evitando la necesidad de bibliotecas externas como Moment. Ofrece una tipificación fuerte con diferentes tipos para diferentes datos, como fechas de calendario con o sin tiempo. Los objetos Temporal son inmutables y están diseñados para trabajar con las instalaciones de internacionalización de JavaScript. Aborda deficiencias en el objeto global date e introduce tipos como instant y tipos plain para una representación precisa de tiempo y fechas a través de zonas horarias. Con el antiguo date, representar una fecha sin un tiempo puede ser problemático, especialmente en zonas horarias donde la medianoche se omite debido al horario de verano. Temporal introduce tipos como plain date, plain time, plain year month, plain month day y zone date time para representar con precisión diferentes escenarios. Además, hay un tipo llamado duration para operaciones aritméticas y conversión de unidades. Ahora que te he presentado a los personajes de temporal, es hora de mostrar cómo realizar una tarea de programación. Comenzaremos con una tarea fácil: obtener la hora actual como una marca de tiempo en milisegundos usando el tipo instant. Para convertir entre tipos Temporal, puedes eliminar o agregar información. El método two zone date time se utiliza para la conversión y requiere agregar una zona horaria y un tiempo. Aunque los objetos Temporal son inmutables, puedes crear nuevos objetos con componentes reemplazados usando el método with. Migrar del antiguo objeto date a Temporal ofrece una solución más confiable y evita posibles errores. ¡Consulta la documentación para más detalles y disfruta usando Temporal en tu base de código!
Video transcription and chapters available for users with access.

Check out more articles and videos

We constantly think of articles and videos that might spark Git people interest / skill us up or help building a stellar career

Estandarización de Señales en TC39
JSNation US 2024JSNation US 2024
29 min
Estandarización de Señales en TC39
I'll be talking about standardizing signals in TC39. Immediate mode wipes out the whole screen and writes a new one, while retained mode changes only what is necessary. Signals represent a cell of data that can change over time. The correct solution is to topologically sort dependencies and evaluate them in a coherent order. Standard signals allow for code sharing across frameworks and the creation of reusable infrastructure. The signal API is designed to be wrapped by different frameworks. Standards can achieve more portability and reduce the need to lock into specific ecosystems. The API includes a watcher, a set of signals being observed, with a synchronous callback made when the first member becomes potentially dirty. The speaker discusses how signals relate to state management libraries in React and mentions the potential for signals to become a web standard in the future.
¿Futuras características de JS?!
JSNation 2022JSNation 2022
28 min
¿Futuras características de JS?!
Top Content
Welcome to the future features of JavaScript, including proposals for array operations, throw expressions, records and TPUs, pipeline operators, and more. The talk covers the introduction of type assertions for imported files, non-mutating array operations, and the simplification of error handling. It also explores the concept of immutability with records and TPUs, and the use of the pipeline operator to simplify code. Other proposals include Map.implace, IteratorHelper, slice notation, type annotations, Array UNIQBY, number ranges, and the Function 1 proposal.
ES?.next()
JSNation Live 2021JSNation Live 2021
31 min
ES?.next()
The Talk discusses various proposals for the next version of ECMAScript (ES Next) and the TC39 process. It covers features such as binding syntax, shorthand property assignments, pattern matching, async match, operator overloading, and more. These proposals aim to simplify code, make it more readable, and introduce new functionalities. The Talk also addresses questions about the committee's decision-making process and the experience of being part of the TC39 committee.
ESNext: Propuestas a tener en cuenta
JSNation Live 2020JSNation Live 2020
9 min
ESNext: Propuestas a tener en cuenta
ES Next proposal stages include straw person, proposal, draft, candidate, and finished. Optional chaining and null coalescing operators are solutions for handling undefined and null values. Logical assignment and null coalescing operators are seeking advancement to stage four. Decimal type is introduced to address floating point math issues. Cancellation API and abort control are solutions for canceling promise execution. Pattern matching allows matching the shape of a vector and performing actions based on it.