# 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))