1.时间转字符串
def datetime_to_string(mydate, rule='%Y-%m-%d %H:%M:%S'):
"""
将datetime.datetime转为string
:param mydate:
:return:
"""
if isinstance(mydate, datetime.datetime) or isinstance(mydate, datetime.date):
return mydate.strftime(rule)
else:
return mydate
2.字符串转时间
def string_to_datetime(mystr, rule='%Y-%m-%d %H:%M:%S'):
"""
将string转为 datetime.datetime
:param mydate:
:return:
"""
if isinstance(mystr, str) or isinstance(mystr, unicode):
return datetime.datetime.strptime(mystr, rule)
else:
return mystr
3.字符串转时间
def string_to_datetime(mystr, rule='%Y-%m-%d %H:%M:%S'):
"""
将string转为 datetime.datetime
:param mydate:
:return:
"""
if isinstance(mystr, str) or isinstance(mystr, unicode):
return datetime.datetime.strptime(mystr, rule)
else:
return mystr
4.unix时间戳转字符串
def unix_time_to_str(unix_time, rule='%Y-%m-%d %H:%M:%S'):
"""
unix时间转str
:param unix_time:
:param rule:
:return:
"""
date = unix_time_to_datetime(unix_time)
return datetime_to_string(date, rule)
5.字符串转unix时间戳
def string_to_unix_time(_str, rule='%Y-%m-%d %H:%M:%S'):
"""
str 转unix时间戳
:param _str:
:param rule:
:return:
"""
_time = string_to_datetime(_str, rule)
return time.mktime(_time.timetuple()) * 1000
6.unix时间戳转时间
def unix_time_to_datetime(unix_time):
"""
unix时间戳转datetime
:param _str:
:param rule:
:return:
"""
try:
_time = datetime.datetime.fromtimestamp(unix_time)
except ValueError:
try:
_time = datetime.datetime.fromtimestamp(unix_time / 1000)
except ValueError:
_time = unix_time
else:
_time = unix_time
return _time
7.时间转unix时间戳
def datetime_to_unix(_time):
"""
unix时间戳转datetime
:param _str:
:param rule:
:return:
"""
if isinstance(_time, datetime.datetime):
return time.mktime(_time.timetuple())
else:
return _time
8.关于时间差计算
def seconds_to_hour(num):
"""
秒转时分秒
:param num:
:return:
"""
h = num // 3600
num = num % 3600
m = num // 60
s = num % 60
return '%d小时%d分钟%d秒'%(h,m,s)
#前推或后退时间
startTime = endTime - datetime.timedelta(seconds=seconds)
#时间差计算
maxTime = max(createTimeList)
minTime = min(createTimeList)
totalOnline = maxTime - minTime
totalOnline = seconds_to_hour(totalOnline.seconds)