convert-unixts 778 B

1234567891011121314151617181920212223242526272829303132333435
  1. #!/usr/bin/python3
  2. # Converts Unix Timestamp to HKT
  3. import sys
  4. import datetime
  5. def safe_cast(string):
  6. try:
  7. return int(string)
  8. except ValueError:
  9. print(f'Error: "{string}" is not a valid integer!')
  10. sys.exit()
  11. # Check for user input
  12. if len(sys.argv) < 2:
  13. print('Usage: convert-unixts <Timestamp: int>')
  14. sys.exit()
  15. # Check for timestamp format
  16. raw_input = sys.argv[1]
  17. if len(raw_input) < 10:
  18. print('Invalid timestamp format! Less than 10 digits.')
  19. sys.exit()
  20. else:
  21. timestamp = safe_cast(raw_input)
  22. # Convert to UTC
  23. utc_time = datetime.datetime.utcfromtimestamp(timestamp)
  24. # Convert to HKT (UTC+8)
  25. hkt_time = utc_time + datetime.timedelta(hours=8)
  26. # Print the result
  27. print("HKT:", hkt_time.strftime('%Y-%m-%d %H:%M:%S'))