Lendo seu artigo estou aqui pensando porque lidar com datas é uma das coisas mais problemáticas da programação. Algo que todo programador deveria saber lidar, mas não é bem assim na prática. Outra coisa que sinto que muitos não entendem é sobre como lidar com strings e diferentes encodings.
Parabéns pelo projeto, me motivou aqui a retomar algumas coisas que estão na minha lista, espero postar em breve aqui no tabnews.
getpaulo
então datas parecem algo simples um dia, um mes, uma ano, uma hora, um minuto e um segundo, coisa simple. Mas o loco começa quando vimos que para armasenar uma data usamos Unix Timestamp que "aleatoriamente" começa em 1970, e de um de segundos de um dia qualquer que definimos as datas.
Depois que conseguimos construir a data a partir dos segundos temos que usar ela de alguma maneira, ai pensa queremos pegar todas os posts de um determinado dia. O que fazer? data-do-post = 01/01/1970
? Não o correto é fazer data-do-post >= 1970-01-01T00:00:00 AND data-do-post < 1970-01-02T00:00:00
.
Agora vamos comparar datas. quantos dias tem de direfeca entre 31/01/1970
e 01/03/1970
? Acertou quem disse 29!!!🎉 Mas quantos meses 1, 2, 3???? 🤨
E mais uma coisa eu sempre apanho dos encodings, saio testantos as converções até alguma coisa funciona.