diff options
| author | Julian Hurst <ark@mansus.space> | 2024-09-07 02:43:59 +0200 |
|---|---|---|
| committer | Julian Hurst <ark@mansus.space> | 2024-09-07 02:43:59 +0200 |
| commit | 8d66caf398bb32d9a6089c0d94ecdef9e3941f65 (patch) | |
| tree | f342cd0e7253191f377f4325a241e6c4188cb018 /distamp.ha | |
| download | distamp-8d66caf398bb32d9a6089c0d94ecdef9e3941f65.tar.gz | |
Initial commit
Diffstat (limited to 'distamp.ha')
| -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))!; +}; |
