date_util.py 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. # -*- coding: utf-8 -*-
  2. import datetime
  3. import time
  4. def str_datetime_to_timestamp(str_datetime, formate="%Y-%m-%d %H:%M:%S"):
  5. """将字符串的时间转换为时间戳"""
  6. # 先装换成struct_time对象
  7. time_array = time.strptime(str_datetime, formate)
  8. # 将struct_time装换成时间戳
  9. time_stamp = int(time.mktime(time_array))
  10. return time_stamp
  11. def format_datetime(str_datetime, old_format, new_format):
  12. """字符串时间格式更改,如a = "2013-10-10 23:40:00",想改为 a = "2013/10/10 23:40:00"""
  13. time_array = time.strptime(str_datetime, old_format)
  14. new_format = time.strftime(new_format, time_array)
  15. return new_format
  16. def timestamp_to_format_time(timestamp, formate):
  17. """时间戳转换为指定格式日期"""
  18. time_array = time.localtime(timestamp)
  19. format_time = time.strftime(formate, time_array)
  20. return format_time
  21. def get_now_format(define_formate, type=0):
  22. """获取当前时间并装换指定格式"""
  23. if type:
  24. # 方式1:
  25. now = datetime.datetime.now()
  26. return now.strftime(define_formate)
  27. else:
  28. # 方式2
  29. now = int(time.time()) # 时间戳
  30. time_array = time.localtime(now)
  31. return time.strftime(define_formate, time_array)
  32. def get_datetime_by_days(day, define_formate):
  33. """获取几天前或几天后的日期时间"""
  34. t = datetime.datetime.now() - datetime.timedelta(days=day)
  35. time_stamp = int(time.mktime(t.timetuple()))
  36. return t.strftime(define_formate), time_stamp
  37. def get_datetime_obj(str_datetime, define_format):
  38. """日期时间按字符串装换为datetime对象"""
  39. t_obj = datetime.datetime.strptime(str_datetime, define_format)
  40. return t_obj