datetime_utils.py 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. # -*- coding: utf-8 -*-
  2. # @Time : 2022/12/1 14:14
  3. # @Author : XuJiakai
  4. # @File : datetime_utils
  5. # @Software: PyCharm
  6. import time
  7. import datetime
  8. import re
  9. def get_ds():
  10. return time.strftime("%Y%m%d")
  11. def get_yesterday_ds():
  12. return (datetime.date.today() + datetime.timedelta(days=-1)).strftime("%Y%m%d")
  13. pass
  14. def get_now():
  15. return datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S')
  16. def datetime_format_transform(datetime_str: str, source_format: str, target_format: str):
  17. middle = datetime.datetime.strptime(datetime_str, source_format)
  18. return datetime.datetime.strftime(middle, target_format)
  19. pass
  20. _date_part_1 = re.compile('^\\d{4}年\\d{2}月\\d{2}日$')
  21. _date_part_2 = re.compile('^\\d{4}-\\d{2}-\\d{2}$')
  22. _datetime_part = re.compile('^\\d{4}-\\d{2}-\\d{2} \\d{2}:\\d{2}:\\d{2}$')
  23. def datetime_format(input_time):
  24. if input_time is not None and _date_part_1.match(input_time):
  25. input_time = datetime_format_transform(input_time, '%Y年%m月%d日', "%Y-%m-%d %H:%M:%S")
  26. pass
  27. if input_time is not None and _date_part_2.match(input_time):
  28. input_time = datetime_format_transform(input_time, '%Y-%m-%d', "%Y-%m-%d %H:%M:%S")
  29. pass
  30. if input_time is not None and not _datetime_part.match(input_time):
  31. input_time = None
  32. pass
  33. return input_time
  34. pass
  35. if __name__ == '__main__':
  36. print(datetime_format('- - '))
  37. pass