Mercurial > repo
changeset 11942:4642242a7945 draft
<wib_jonas> fetch bin/beat https://hack.esolangs.org/get/bin/beat
author | HackEso <hackeso@esolangs.org> |
---|---|
date | Tue, 17 Sep 2019 13:32:58 +0000 |
parents | e48305a84ee8 |
children | 0ab22b542e31 |
files | bin/beat |
diffstat | 1 files changed, 14 insertions(+), 4 deletions(-) [+] |
line wrap: on
line diff
--- a/bin/beat Fri Sep 13 12:14:45 2019 +0000 +++ b/bin/beat Tue Sep 17 13:32:58 2019 +0000 @@ -3,15 +3,25 @@ # blame fizzie import math,sys,getopt,time prec = 0 -opts,args = getopt.getopt(sys.argv[1:], "hpP:") +atime = None +opts,args = getopt.getopt(sys.argv[1:], "d:hpP:") for opt,oarg in opts: - if "-p" == opt: prec = 2 + if "-d" == opt: + if "@" == oarg[0]: + atime = float(oarg[1:]) + else: + raise RuntimeError("unknown date format") + elif "-p" == opt: prec = 2 elif "-P" == opt: prec = int(oarg) - elif "-h" == opt: print("Usage: beat [-p]\nPrint current time in Swatch Internet Time format."); sys.exit(2) + elif "-h" == opt: + print("Usage: beat [-p]\nPrint current time in Swatch Internet Time format.\n") + sys.exit(2) else: raise AssertionError() if args: raise RuntimeError("too many command-line arguments") -b = math.floor(((time.time()+3600) % 86400) / 86.4 * 10**prec) +if atime is None: + atime = time.time() +b = math.floor(((atime + 3600) % 86400) / 86.4 * 10**prec) o = "%0*d" % (prec, b) if 0 < prec: o = o[0:-prec] + "." + o[-prec:] print(o)