1
resposta

[Sugestão] Sugestão para formatar o tempo usando o método "toLocaleTimeString()".

Não sei se alguém vai ler isso aqui mas resolvi deixar a alteração que eu fiz no método que formata o tempo, ele fica dentro do objeto "computed" que por sua vez esta dentro do componente "Cronometro.vue".

Antes:

computed: {
        tempoFormatado (): string {
            return new Date(this.tempoContado*1000).toISOString().substr(11, 8)
        }
    } 

Depois:

            computed: {
                tempoFormatado (): string {
                    const data = new Date()
                    data.setHours(0,0, this.tempoContado, 0)
                    return data.toLocaleTimeString()
                }
            } 

Obs: O método setHours esta alterando as horas para 00:00:00 ao mesmo tempo que esta incrementando os segundos passados pelo "this.tempoContado" e por fim o "toLocaleTimeString()" esta formatando a data para mostrar apenas "horas: minutos: segundos".

Obs²: O "setHours" recebe 4 parâmetros, seriam eles, Hora, Minuto, Segundo, Milisegundos.

Obs³: Ao passar valores como por exemplo 60 ou 3600 para os segundos o método setHours se encarrega de incrementar o minuto e a hora em 1 respectivamente.

1 resposta

Olá Vinícius! Obrigado por compartilhar sua sugestão conosco. Realmente, o método "toLocaleTimeString()" é uma ótima opção para formatar datas em JavaScript. E sua sugestão de utilizar o método "setHours()" para incrementar os segundos é muito interessante e pode ser útil em muitos casos. Além disso, é importante lembrar que o método "toLocaleTimeString()" pode variar de acordo com a localização do usuário, então é sempre bom testar em diferentes idiomas e formatos. Espero ter ajudado e bons estudos!