isnow.go(docs) tsvsheet manual

Name

isnow.goThe Go library, isnow CLI, and HTTP server for the isnow date/time pattern language.

isnow is a date/time pattern language. An isnow (the language, and a pattern string in it) describes anything from a fixed instant to a complex recurrence and answers one question: is it now?

isnow.go is the Go implementation’s frontend: the isnow command-line tool and an HTTP time server, built on the importable go-isnow library. It is a strict superset of cron in expressiveness — sets, spans, exclusions, from-end counting, steps, and since/until bounds, over one uniform per-field algebra.

isnow
6                       every day at 06:00
M,W,F noon              Mon/Wed/Fri at 12:00:00
11/ Th-[1] noon         the last Thursday of November at noon
M-F +[30mn] >=9 <=17    every 30 min on weekdays, 9-to-5
M-F ! 12/25 ! 1/1       every weekday except the holidays

Learn the language

  • Language tour — the seven fields, the uniform algebra, intervals, exclusions, and the shorthand ladder.
  • Use cases — the jobs isnow is built for, with a recipe for each.
  • Gotchas — the confusions a compact token invites, and how to read past them.

Use the tool

The language itself (grammar, specification, and the conformance corpus every implementation passes) lives in tsvsheet/isnow. The importable Go library is github.com/tsvsheet/go-isnow, documented at tsvsheet.github.io/docs.go-isnow.

Index