Natural date time parsing for Go. This package was designed for parsing human-friendly relative date/time ranges in Apex Logs' command-line log search.
Here are some examples of the types of expressions currently supported, arbitrary text is currently ignored.
- now
- today
- yesterday
- 5 minutes ago
- three days ago
- last month
- next month
- one year from now
- yesterday at 10am
- last sunday at 5:30pm
- sunday at 22:45
- next January
- last February
- December 25th at 7:30am
- 10am
- 10:05pm
- 10:05:22pm
- Restart the server in 5 days from now
- Remind me on the 25th of December at 7:30am
- Message me in two weeks
- See the tests for more examples
A default direction can be applied using WithDirection()
for ambiguous expressions such as sunday
, or september
. By default naturaldate.Past
is used, so they will be equivalent to last sunday
and last september
.
This project is sponsored by CTO.ai, making it easy for development teams to create and share workflow automations without leaving the command line.
And my GitHub sponsors: