ZonedDateTime — Você precisa usar.

Carly Christian
2 min readSep 18, 2024

--

Depois de 2 anos sabáticos, volto a publicar e nada melhor que cases reais para abordamos. Precisei defender uma posição sobre esse tema em um projeto no maior banco da américa latina, então vem comigo, vai ser rápido mas vai ser legal…

O tempo é um dilema filosófico estudado a milénios e não, não é tão simples quanto você pensa quando falamos de software. Por isso a depender do tamanho e objetivos da sua empresa, você precisa pensar estrategicamente esse dado.
O Problema é que em grandes empresas as vezes é difícil ter um padrão definido e quando temos, o mais difícil, fazer as pessoas seguirem esse padrão. E qual o problema dessa falta padrão ?

Quando falamos de data/hora existem informações complementares e contextos que dão sentido a ela. Então se você não tem padrão, as integrações vão acontecer em formatos diferentes. Os times que estão construindo aquela integração vão se conversar e fechar um “acordo”. Vai funcionar ? Vai. Mas e quando outros players necessitarem desses dados ? Qual o timezone ? Tem horário de verão ? Qual o fuso horário ? O Brasil por exemplo tem 4 fusos. E quando seu time de dados for trabalhar com todas as milhares de bases democratizadas ?
Como resolvemos isso ? Simples, mas é difícil e da trabalho.

Garanta que a dataHora segue UTC e propague as informações necessárias de forma que garanta fuso horário e horário de verão. Sabe quem faz isso pra você no Java ? Isso mesmo, ta no título do artigo, ZonedDateTime.
Só isso ? Nops. Esse dado trafega por toda organização, desde base de dados, backend, área de dados, canais e cliente final. É preciso garantir que nas camadas mais profundas o dado seja mais puro e nas bordas, nas interfaces com o cliente final o dado seja mais próximo do contexto. Se eu tenho dados trafegando em UTC ao receber no mobile posso identificar quem está em SP e aplicar GMT-3 ou quem está no amazonas e aplicar GMT-4. A parte mais difícil é garantir que essa estratégia aconteça sem ser o “cara chato do rolê”…
Podem te pedir uma ajuda, pra não dar erro em um parse ou facilitar e propagar um evento com uma dataHora em um formato específico… Não negue ajuda, apresente um exemplo simples de como converter UTC para o que as pessoas precisam mas não deturpe o padrão…

Aqui link do repositório github com um exemplo que usei para falar sobre isso aqui na empresa.

Vlw se você chegou até aqui e tmj demais… ehNoix!!

Sign up to discover human stories that deepen your understanding of the world.

Free

Distraction-free reading. No ads.

Organize your knowledge with lists and highlights.

Tell your story. Find your audience.

Membership

Read member-only stories

Support writers you read most

Earn money for your writing

Listen to audio narrations

Read offline with the Medium app

--

--

Carly Christian
Carly Christian

Written by Carly Christian

Oi, eu sou o carly. Gosto de falar sobre varios assuntos e visões que tenho sobre o mundo, é isto.

No responses yet

Write a response