1
resposta

Dúvida sobre a função toLocaleTimeString().

Ao usar apenas o toISOString com o slice funciona direitinho, mas utilizando o toLocaleTimeString passando um timestamp em milesegundos, ele retorna algo do tipo: 21:00:01 (para new Date(1000).toLocaleTimeString()). Por que isso ocorre?

1 resposta

Salve, Aristiklever!

Então, o toLocaleString() vai levar em consideração o idioma do Sistema Operacional, e então faz a conversão para string. Por padrão, quando o locale é o nosso pt-BR, na hora de converter as horas e os minutos ele faz para o formato 24h, então ele faz 21:00:01 ao invés de 09:00:01 "PM", percebe?

O método toISOString() ignora por completo o locale que estamos :)