Olá, dessa maneira a data esta sendo impressa "1/1/2000", como seria para retornar "01/01/2000" com o zero na frente dos números < 10 ?
Olá, dessa maneira a data esta sendo impressa "1/1/2000", como seria para retornar "01/01/2000" com o zero na frente dos números < 10 ?
Oi, Santi, tudo bem?
Aqui vai um exemplo de como acrecentar o 0 antes dos meses e dias menores que que 10, http://jsfiddle.net/xA5B7/
Bons estudos !
O que seria esse slice ?
Você pode usar o método slice(). Esse método retorna uma fatia (em inglês, slice) de uma string ou array.
Inserindo um número negativo no parâmetro faz retornar os dígitos contando a partir do fim, por exemplo:
"000031".slice(-2); // retorna "31"
"09".slice(-2); // retorna "09"
Aplicando na data - para sempre mostrar dois dígitos - concatene o 0 no dia, mês, hora, minuto, etc e depois aplique o .slice(-2), dessa forma:
let data = new Date();
let diaHoje = ("0" + data.getDate()).slice(-2);
let mesHoje = ("0" + (data.getMonth() + 1)).slice(-2);
let anoHoje = data.getFullYear();
hoje = diaHoje + '/' + mesHoje + '/' + anoHoje;
Pegando o exemplo do curso de JavaScript: Conhecendo o Browser e padrões de projeto, onde temos na classe DateHelper o seguinte método estático static dataParaTexto(data), uma solução que encontrei seria a solução abaixo:
static dataParaTexto(data) {
return ${('0' + data.getDate()).slice(-2)}/${('0' + data.getMonth()+1).slice(-2)}/${data.getFullYear()}
;
}
Att,
Obrigado a todos.
Olá, quero fazer uma correção no return pois quando o mês é 10,11 ou 12, esta retornando errado. Segue o return correto:
return ${('0' + data.getDate()).slice(-2)}/${('0' + (parseInt(data.getMonth())+1)).slice(-2)}/${data.getFullYear()}
;
Obrigado.