Home

Awesome

Go Natural Date

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.

Examples

Here are some examples of the types of expressions currently supported, arbitrary text is currently ignored.

Direction

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.


GoDoc

Sponsors

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:

<img src="https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/avatar/0" width="35"> <img src="https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/avatar/1" width="35"> <img src="https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/avatar/2" width="35"> <img src="https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/avatar/3" width="35"> <img src="https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/avatar/4" width="35"> <img src="https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/avatar/5" width="35"> <img src="https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/avatar/6" width="35"> <img src="https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/avatar/7" width="35"> <img src="https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/avatar/8" width="35"> <img src="https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/avatar/9" width="35"> <img src="https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/avatar/10" width="35"> <img src="https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/avatar/11" width="35"> <img src="https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/avatar/12" width="35"> <img src="https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/avatar/13" width="35"> <img src="https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/avatar/14" width="35"> <img src="https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/avatar/15" width="35"> <img src="https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/avatar/16" width="35"> <img src="https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/avatar/17" width="35"> <img src="https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/avatar/18" width="35"> <img src="https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/avatar/19" width="35"> <img src="https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/avatar/20" width="35"> <img src="https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/avatar/21" width="35"> <img src="https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/avatar/22" width="35"> <img src="https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/avatar/23" width="35"> <img src="https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/avatar/24" width="35"> <img src="https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/avatar/25" width="35"> <img src="https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/avatar/26" width="35"> <img src="https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/avatar/27" width="35"> <img src="https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/avatar/28" width="35"> <img src="https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/avatar/29" width="35"> <img src="https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/avatar/30" width="35"> <img src="https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/avatar/31" width="35"> <img src="https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/avatar/32" width="35"> <img src="https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/avatar/33" width="35"> <img src="https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/avatar/34" width="35"> <img src="https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/avatar/35" width="35"> <img src="https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/avatar/36" width="35"> <img src="https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/avatar/37" width="35"> <img src="https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/avatar/38" width="35"> <img src="https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/avatar/39" width="35"> <img src="https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/avatar/40" width="35"> <img src="https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/avatar/41" width="35"> <img src="https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/avatar/42" width="35"> <img src="https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/avatar/43" width="35"> <img src="https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/avatar/44" width="35"> <img src="https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/avatar/45" width="35"> <img src="https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/avatar/46" width="35"> <img src="https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/avatar/47" width="35"> <img src="https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/avatar/48" width="35"> <img src="https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/avatar/49" width="35"> <img src="https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/avatar/50" width="35"> <img src="https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/avatar/51" width="35"> <img src="https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/avatar/52" width="35"> <img src="https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/avatar/53" width="35"> <img src="https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/avatar/54" width="35"> <img src="https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/avatar/55" width="35"> <img src="https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/avatar/56" width="35"> <img src="https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/avatar/57" width="35"> <img src="https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/avatar/58" width="35"> <img src="https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/avatar/59" width="35"> <img src="https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/avatar/60" width="35"> <img src="https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/avatar/61" width="35"> <img src="https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/avatar/62" width="35"> <img src="https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/avatar/63" width="35"> <img src="https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/avatar/64" width="35"> <img src="https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/avatar/65" width="35"> <img src="https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/avatar/66" width="35"> <img src="https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/avatar/67" width="35"> <img src="https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/avatar/68" width="35">