"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Como posso converter strings em objetos de data em JavaScript de maneira confiável?

Como posso converter strings em objetos de data em JavaScript de maneira confiável?

Publicado em 2024-12-22
Navegar:704

How Can I Convert Strings to Date Objects in JavaScript Reliably?

Conversão de strings em objetos de data em JavaScript

Muitos cenários no desenvolvimento de software envolvem trabalhar com datas e horas. Em JavaScript, ao criar datas, muitas vezes é necessário converter uma string que representa uma data em um objeto Date. Abaixo está como conseguir essa conversão:

A abordagem recomendada para análise de string é utilizar o formato ISO junto com o construtor do objeto Date. Por exemplo:

var st = "2023-05-09";
var dt = new Date();
var dt_st = new Date(st); // dt_st is a Date object in the same format as dt.

No entanto, apenas usar o formato ISO é insuficiente para uma análise confiável. As strings podem ser interpretadas como UTC ou hora local (dependendo das variações do navegador). Para garantir a consistência, é aconselhável armazenar datas em UTC e realizar cálculos nesse formato também.

Para analisar datas como UTC, acrescente um "Z" à string. Por exemplo: new Date('2021-04-11T10:20:30Z')

Para exibir a data na hora local, use .toUTCString(), enquanto .toString() pode ser usado para exibir a data em UTC.

Para compatibilidade com versões mais antigas do Internet Explorer (menos de 9), considere dividir a string datetime em componentes e inicializar o objeto Date com essas partes. Por exemplo:

new Date('2011', '04' - 1, '11', '11', '51', '00') 
// Note: the month value must be 1 less than the actual month index (0-based).

Outra opção é usar bibliotecas como Moment.js, que oferecem recursos como análise de data com especificação de fuso horário.

Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3