Skip to content

Instantly share code, notes, and snippets.

@m66n
Last active March 6, 2023 21:56
Show Gist options
  • Save m66n/17c0fe7fd146d06fc5d3116dd116a3d4 to your computer and use it in GitHub Desktop.
Save m66n/17c0fe7fd146d06fc5d3116dd116a3d4 to your computer and use it in GitHub Desktop.
calculate hours between then and now
#! /usr/bin/env python3
import argparse
import datetime
import math
import sys
DEFAULT_FORMAT = r"%Y-%m-%d %H:%M"
def main():
parser = argparse.ArgumentParser(
prog="hourlapse", description="Calculate hours between then and now."
)
parser.add_argument(
"then", type=str, help="date and time as " + DEFAULT_FORMAT.replace(r"%", "%%")
)
parser.add_argument(
"-f",
"--format",
type=str,
required=False,
default=DEFAULT_FORMAT,
dest="format",
help="format of then using strptime format codes",
)
args = parser.parse_args()
then = datetime.datetime.strptime(args.then, args.format)
now = datetime.datetime.now()
now = now.replace(second=0, microsecond=0)
delta = now - then
hourlapse = round(delta.total_seconds() / 3600, 1)
print(f"{hourlapse:.1f} {'hour' if math.isclose(abs(hourlapse), 1.0) else 'hours'}")
return 0
if __name__ == "__main__":
sys.exit(main())
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment