diff options
| -rw-r--r-- | distamp.ha | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/distamp.ha b/distamp.ha new file mode 100644 index 0000000..6a60668 --- /dev/null +++ b/distamp.ha @@ -0,0 +1,32 @@ +use fmt; +use time; +use time::date; +use time::chrono; +use os; +use strconv; +use strings; + +export fn main() void = { + if (len(os::args) != 2) { + os::exit(os::status::FAILURE); + }; + + let timestr = os::args[1]; + let i = time::now(time::clock::REALTIME); + let spl = strings::split(timestr, ":"); + + let li = if (len(spl) > 2) { + fmt::fatal("Duration format: m or m:s"); + } else if (len(spl) == 2) { + let m = strconv::stoi64(spl[0])!; + let s = strconv::stoi64(spl[1])!; + let d = (m * time::MINUTE) + (s * time::SECOND); + yield time::add(i, d); + } else { + let m = strconv::stoi64(spl[0])!; + let d = m * time::MINUTE; + yield time::add(i, d); + }; + + fmt::printfln("<t:{}:R>", time::unix(li))!; +}; |
