Skip to main content

Fala pessoal!



Sei que o foco do fórum não é dúvidas de JavaScript, mas talvez alguém já tenha passado por isso em seus bots e possa me ajudar e ajudar alguém que lerá isto no futuro 🙂



Vamos a dúvida:



Estou consumindo uma data e hora de uma API que vem no formato ISO: 2019-10-09T17:33:54.922Z


Ao retornar esta data para o usuáro pelo bot gostria de deixar como um “date e time” convencional: 09/10/2019 / 17:33h



Pois bem, tentei de inúmeras maneiras tratar esta info no script mas não consegui. Na verdade consegui converter ela para “Time Unix”. Usando o Date.parse().



Alguem que já passou por isto consegue dar uma luz?



Meu código:





function run(map) {

var date = JSON.parse(map).arrived;

return date

}





Muito obrigado!

@Luis_Augusto_Vanzin boa tarde!



Cara tenta isso:



function run(map) {

var date = JSON.parse(map).arrived;

var newDate = date.toLocaleString();

return newDate

}



Pode ser que pegue o local do servidor, não sei se está no Brasil, mas se funcionar informa aqui!



Caso contrário vamos ver outra forma.


@Luis_Augusto_Vanzin também você pode tentar assim:



function run(map){

var data = new Date(JSON.parse(map).arrived),

dia = data.getDate().toString(),

diaF = (dia.length == 1) ? '0'+dia : dia,

mes = (data.getMonth()+1).toString(), //+1 pois no getMonth Janeiro começa com zero.

mesF = (mes.length == 1) ? '0'+mes : mes,

anoF = data.getFullYear(),

hora = data.getUTCHours().toString(),

minuto = data.getUTCMinutes().toString();

return diaF+"/"+mesF+"/"+anoF + " - " + hora + ":" + minuto;

}



Resulta este valor:








Igor! Sem palavras! Muito, muito obrigado!!



Fiz uns incrementos para pegar o local time e também para corrigir uma questão que estava me retornando uma hora como “20:6”, mas agora ficou tudo certo!



Segue o código para posteridade 😊



Grande abraço!



function run(map){

var data = new Date(JSON.parse(map).arrived),

dia = data.getDate().toString(),

diaF = (dia.length == 1) ? '0'+dia : dia,

mes = (data.getMonth()+1).toString(), //+1 pois no getMonth Janeiro começa com zero.

mesF = (mes.length == 1) ? '0'+mes : mes,

anoF = data.getFullYear(),

hora = (data.getHours()-3).toString(),

minuto = data.getMinutes().toString();

return (diaF + "").padStart(2,"0") + "/"+ (mesF + "").padStart(2,"0") +"/"+ anoF + " - " + (hora + "").padStart(2,"0") + ":" + (minuto + "").padStart(2,"0");

}

Comente