126 lines
3.1 KiB
Python
126 lines
3.1 KiB
Python
# coding:utf-8
|
|
import time
|
|
import datetime
|
|
|
|
|
|
def gap_day(time_str, date=None, format="%Y-%m-%d"):
|
|
"""
|
|
:判断自然日差几天
|
|
:param time_str: 2019-02-19 21:49:20
|
|
:return:
|
|
"""
|
|
if not date:
|
|
date = time.strftime(format)
|
|
now_day_stamps = time.mktime(time.strptime(date, format))
|
|
if " " in format:
|
|
format = format.split(" ")[0]
|
|
input_stamps = time.mktime(time.strptime(time_str.split(" ")[0], format))
|
|
return int(abs((now_day_stamps - input_stamps)) // 86400)
|
|
|
|
|
|
def gap_stamps_day(time_str, now_day_stamps=None):
|
|
"""
|
|
:判断绝对时间差几天
|
|
:param time_str: 2019-02-19 21:49:20
|
|
:return:
|
|
"""
|
|
if not now_day_stamps:
|
|
now_day_stamps = time.time()
|
|
input_stamps = time.mktime(time.strptime(time_str, "%Y-%m-%d %H:%M:%S"))
|
|
return int(abs((now_day_stamps - input_stamps)) // 86400)
|
|
|
|
|
|
def gap_stamps_hour(time_str):
|
|
"""
|
|
:判断绝对上差几个小时
|
|
:param time_str: 2019-02-19 21:49:20
|
|
:return:
|
|
"""
|
|
now = int(time.time())
|
|
input_stamps = time.mktime(time.strptime(time_str, "%Y-%m-%d %H:%M:%S"))
|
|
return int(abs((now - input_stamps)) // 3600)
|
|
|
|
|
|
def gap_stamps_minute(time_str):
|
|
"""
|
|
:判断绝对上差几个分钟
|
|
:param time_str: 2019-02-19 21:49:20
|
|
:return:
|
|
"""
|
|
now = int(time.time())
|
|
input_stamps = time.mktime(time.strptime(time_str, "%Y-%m-%d %H:%M:%S"))
|
|
return int(abs((now - input_stamps)) // 60)
|
|
|
|
|
|
def get_now():
|
|
"""
|
|
获取当前时间 YYYY-MM-DD HH:mm:ss
|
|
:param
|
|
:return:
|
|
"""
|
|
current_time = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())
|
|
return current_time
|
|
|
|
|
|
def get_time_stamp(timeStr, format="%Y-%m-%d %H:%M:%S"):
|
|
"""
|
|
获取时间戳
|
|
:param timeStr: 2019-05-12 09:00:00
|
|
:param format: "%Y-%m-%d %H:%M:%S"
|
|
:return:
|
|
"""
|
|
timeArray = time.strptime(timeStr, format)
|
|
timestamp = time.mktime(timeArray)
|
|
return int(timestamp)
|
|
|
|
|
|
def gap_stamps_sec(time_str):
|
|
"""
|
|
:判断绝对上差几秒
|
|
:param time_str: 2019-02-19 21:49:20
|
|
:return:
|
|
"""
|
|
|
|
now = int(time.time())
|
|
input_stamps = time.mktime(time.strptime(time_str, "%Y-%m-%d %H:%M:%S"))
|
|
return int(abs((now - input_stamps)))
|
|
|
|
|
|
def get_day_jia(date, n, format='%Y-%m-%d'):
|
|
"""
|
|
时间加n天
|
|
:param date:
|
|
:param n:
|
|
:return:
|
|
"""
|
|
jia_date = datetime.datetime.strptime(date, format)
|
|
jia_date = jia_date + datetime.timedelta(days=n)
|
|
return jia_date.strftime(format)
|
|
|
|
|
|
def get_sec_jia(seconds, format="%Y-%m-%d %H:%M:%S"):
|
|
"""
|
|
当前时间加多少秒
|
|
:param seconds:
|
|
:param format:
|
|
:return: 2019-12-30 19:25:30
|
|
"""
|
|
return (datetime.datetime.now() + datetime.timedelta(seconds=seconds)).strftime(format)
|
|
|
|
|
|
def get_ts_to_time(ts):
|
|
"""时间戳转字符串"""
|
|
return time.strftime("%Y-%m-%d %H:%M:%S", time.localtime(ts))
|
|
|
|
|
|
def day_long(time1, time2):
|
|
"""
|
|
计算时间差
|
|
:return: 相差的天数
|
|
"""
|
|
ts1 = get_time_stamp(time1)
|
|
ts2 = get_time_stamp(time2)
|
|
date1 = datetime.datetime.fromtimestamp(ts1)
|
|
date2 = datetime.datetime.fromtimestamp(ts2)
|
|
return abs(int((date2 - date1).days))
|