Skip to main content

Gente, tudo bem?

preciso importar a biblioteca moment-timezone para retornar a data em timezone e no formato DD/MM/YYYY vocês sabem se é possível? ou se existe alguma outra forma?

tentei fazer assim sem importar a biblioteca, mas não retornou.

function run(dados) {
/* dados = JSON.parse(dados);
return dados[0].u_linhadigitavel;
*/
var resp = JSON.parse(dados);
var numero = “”;
var data_venc = “”;
var obj = {};

size = Object.keys(resp).length;

let output = “”;
for (let i = 0; i < size; i++) {

let numero = Código do boleto;
let data_venc = Data de vencimento;

let linhaDigitavel = resp[i].u_linhadigitavel;

let data = new Date(resp[i].u_datavencimento);
let dataFormatada = data.toLocaleDateString(“pt-BR”, { timeZone: “America/Sao_Paulo”, day: ‘2-digit’, month: ‘2-digit’, year: ‘numeric’});

output += ${numero}: ${linhaDigitavel}\n${data_venc}: ${dataFormatada}\n\n;
}
return output;

retorno:

Código do boleto: 34181.09008 05717.422975 71504.360008 3 92890000079024
Data de vencimento: Friday, 10 March 2023

Boa tarde!

Você realmente precisa do timeZone? Sem ele funciona corretamente:

let dataFormatada = data.toLocaleDateString('pt-BR', { day: '2-digit', month: '2-digit', year: 'numeric' });

Notei que em sua última publicação a data quem vem na API é em timestamp, pode usar uma função em um script para retornar a data em DD/MM/AAAA

function timestampParaData(timestamp) {
  const data = new Date(timestamp);
  const dia = data.getDate().toString().padStart(2, '0');
  const mes = (data.getMonth() + 1).toString().padStart(2, '0'); // mês começa em 0, por isso soma-se 1
  const ano = data.getFullYear();
  return `${dia}/${mes}/${ano}`;
}