Skip to content
/ when Public

Package when implements a natural language date/time arithmetic parser.

License

Notifications You must be signed in to change notification settings

pnelson/when

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

when

Package when implements a natural language date/time arithmetic parser.

Parse a duration that resolves to a time in the future:

t, err := when.Parse("6 hours")

This can be reversed:

t, err := when.Parse("6 hours ago")

Digits up to twelve can be spelled:

t, err := when.Parse("six hours ago")

Short units are fine, too:

t, err := when.Parse("6h ago")

You don't need to use durations at all:

t, err := when.Parse("Jan 2nd at 3pm")

But if you do, they can be made relative to a specific time:

t, err := when.Parse("6 hours from Jan 2nd at 3pm")

Again, but in reverse:

t, err := when.Parse("6 hours before Jan 2nd at 3pm")

You can be a bit more casual with the time:

t, err := when.Parse("3 o'clock in the afternoon")

Or you can go full tilt:

s := "1y 2M and 3w & 4d, 5h"
s += " from quarter past 3 o'clock in the afternoon"
s += " on the 2nd Tuesday of March"
s += " + 6 minutes - 7 seconds"
t, err := when.Parse(s)

About

Package when implements a natural language date/time arithmetic parser.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages