(defn- parse-timestamp
``Parse a date or datetime string into a unix epoch int``
[s]
(if (string/find " " s)
# datetime: "yyyy-MM-dd HH:mm"
(let [[date-part time-part] (string/split " " s)
[y m d] (string/split "-" date-part)
[hh mm] (string/split ":" time-part)]
(os/mktime {:year (scan-number y)
:month (scan-number m)
:month-day (scan-number d)
:hours (scan-number hh)
:minutes (scan-number mm)
:seconds 0}))
# date: "yyyy-MM-dd"
(let [[y m d] (string/split "-" s)]
(os/mktime {:year (scan-number y)
:month (scan-number m)
:month-day (scan-number d)
:hours 0 :minutes 0 :seconds 0}))))