view bin/beat @ 12320:9c7eb9899d95 draft

<fizzie> le/rn karma//All living beings have actions (karma) as their own, their inheritance, their congenital cause, their kinsman, their refuge. It is karma that differentiates beings into low and high states.
author HackEso <hackeso@esolangs.org>
date Fri, 06 Mar 2020 23:08:37 +0000
parents 4642242a7945
children
line wrap: on
line source

#!/usr/bin/python3
# beat - print current time in Swatch Internet Time format.
# blame fizzie
import math,sys,getopt,time
prec = 0
atime = None
opts,args = getopt.getopt(sys.argv[1:], "d:hpP:")
for opt,oarg in opts:
	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.\n")
		sys.exit(2)
	else: raise AssertionError()
if args:
	raise RuntimeError("too many command-line arguments")
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)
#END