Many companies use service to service integration through different API porotocols.
I had the same situation in my production environment. At some point, clients of my service started to send me dates in different formats.
Some of them sent timestamps in int, some of them used ISO 8601, etc. But what was clear, these dates were valid and we could not request to change it in one day.
As a result of this issue, I implemented some solution that solved the issue and wrote a couple of articles that shared the issue and the approach:
- Parse timestamp formats
- Parse time from different non timestamp formats
- Universal time UnmarshalJSON implementation
But I did not want to create an Open Source package, because of I believe that Open Source cannot be just few lines of code. It's a right formatting of the code, some code coverage by tests, examples and the most important - is commitment to support it.
Today is a day when I decided to invest time and commit to a simplification of software development in Go.
Time parsing is a regular issue, especially in event-driven architecture and microservice arachitectures.
Feel free to use the zero-dependency library to solve all the main issues you could have with time parsing in Go.