O JavaScript Temporal está chegando
(developer.mozilla.org)- Visão geral
- A implementação do objeto JavaScript Temporal começou a ser lançada em versões experimentais dos navegadores
- O processamento de data e hora para desenvolvedores web deve se tornar muito mais simples e moderno
- Será possível usar recursos nativos eficientes e precisos em aplicações que lidam com agendamento, internacionalização e dados relacionados ao tempo
- Problemas do objeto JavaScript
Date
- Foi criado copiando a implementação inicial de
java.util.Datedo Java em 1995 - Suporta apenas a hora local do usuário e UTC, sem suporte a fuso horário
- O comportamento de parsing é muito instável e ele é mutável (
mutable) - É difícil calcular horário de verão (DST) e mudanças históricas de calendário
- Principais recursos do Temporal
- Projetado como um substituto completo para o objeto
Date - Suporte à representação de fusos horários e calendários
- Oferece mais de 200 métodos utilitários
- Inclui várias funções, como conversão, comparação, cálculo e formatação
- Situação atual de suporte nos navegadores
- O Firefox atualmente tem a implementação mais madura
- Disponível como recurso experimental na versão Firefox Nightly
- Safari e Chrome também estão em processo de implementação
- Pode ser testado por meio de
@js-temporal/polyfillna página de documentação do TC39
- Componentes principais
Duration: diferença entre dois momentos no tempoInstant: timestampZonedDateTime: data/hora com fuso horárioPlainDateTime: data/hora sem fuso horário- Também fornece várias outras classes relacionadas a data/hora
Espera-se que essa nova API ofereça uma abordagem moderna para lidar com datas e horas em JavaScript.
6 comentários
Resposta de mensagem do crush que chegou tarde demais
No começo, também trouxeram bastante coisa do Java na implementação do
Date, e agora trouxeram bastante do Java na implementação do Temporal, então fico pensando se isso realmente precisava ter demorado tanto assim.Como o Java 8 com
LocalDateTimeé de 2014, parece que, se uma implementação do Temporal baseada nisso tivesse saído mais rápido, talvez não tivesse sido necessário fragmentar tudo em várias bibliotecas de terceiros.Ah, ah, isso me soa muito familiar...
Tirando o fato de que trocaram
LocalDateTimeporPlainDateTime, é praticamente igual ao Java…É bom ter… mas não sei se precisava chegar a esse ponto…
Antes, para lidar com horários em vários fusos, era preciso usar bibliotecas ou implementar pensando em várias condições; seria ótimo seguir na direção de oferecer esse suporte nativamente.