danielsk8 Postado 4 Maio Postado 4 Maio Olá pessoal, Estou com dificuldades no tratamento de timezone nos campos calendario.criacao e pix[0].horario retornados pela API PIX de alguns bancos e gostaria de saber como vocês estão resolvendo isso. O problema: O padrão do Banco Central define que datas com sufixo Z estão em UTC. Porém identificamos que Santander (033) e Itaú (341) retornam esses campos com Z mas já em horário de Brasília (BRT), ignorando o padrão. Exemplos reais: Santander — diferença entre criacao e horario de pagamento: 34 segundos → já BRT calendario.criacao : 2026-04-24T06:13:47.000Z pix[0].horario : 2026-04-24T06:14:21.000Z Itaú — diferença entre criacao e horario de pagamento: 59 segundos → já BRT calendario.criacao : 2026-04-03T16:00:17.000Z pix[0].horario : 2026-04-03T16:01:16.000Z Demais bancos (Sicoob, Bradesco, BB, Nubank etc) — diferença ~180 minutos → Z real UTC, conversão necessária. O que já implementamos: Tratamos por FCodigoBanco — para 033 e 341 usamos EncodeDateTime extraindo as posições fixas do ISO8601 ignorando o Z. Para os demais aplicamos TTimeZone.Local.ToLocalTime(). As dúvidas: Existe alguma propriedade no ACBr que já resolve isso automaticamente, tipo um flag indicando se a data já está em BRT? Algum outro banco além de Santander e Itaú tem esse comportamento de Z falso? Existe discussão aberta sobre isso no repositório do ACBr? Obrigado!
Recommended Posts
Crie uma conta ou entre para comentar
Você precisar ser um membro para fazer um comentário
Criar uma conta
Crie uma nova conta em nossa comunidade. É fácil!
Crie uma nova contaEntrar
Já tem uma conta? Faça o login.
Entrar Agora