date.py 752 B

1234567891011121314151617181920212223242526272829303132
  1. # -*- coding: utf-8 -*-
  2. import arrow
  3. TIME_FMT = 'YYYYMMDDHHmmss'
  4. def get_time_str(delta: int = 0, flag: str = 'now') -> str:
  5. """
  6. Return a Beijing time strings.
  7. :param delta: time delta(seconds)
  8. :param flag:
  9. :return: a '%Y%m%d%H%M%S' format strings
  10. """
  11. utc = arrow.utcnow()
  12. local = utc.to('Asia/Shanghai')
  13. if flag == 'ago':
  14. delta = -delta
  15. t = local.shift(seconds=delta)
  16. elif flag == 'later':
  17. t = local.shift(seconds=delta)
  18. else:
  19. t = local
  20. time_str = t.format(TIME_FMT)
  21. return time_str
  22. def get_quarter_minutes(time_str: str) -> str:
  23. temp = arrow.get(time_str, TIME_FMT).timestamp // (15 * 60) * (15 * 60)
  24. return arrow.get(temp).time().strftime('%H%M%S')