# -*- coding: utf-8 -*- from dateutil.parser import parse from dateutil.relativedelta import relativedelta from datetime import datetime, timedelta import time def gen_job_datetime(time_str, date_str=''): """ 生成任务的时间和日期 :param time_str: 时间 :param date_str: 日期 :return: """ if not time_str: return None return parse(date_str + time_str) def gen_today_str(): today = datetime.today() return today.strftime("%Y-%m-%d") def timestamp(): return int(time.time()) def is_today(date_str): publish_date = parse(date_str).date() # 获取日期部分,忽略时间部分 today = datetime.today().date() # 获取今天的日期,忽略时间部分 # 检查日期是否相等 return publish_date == today def timestamp2date(timestamp_long): d = datetime.utcfromtimestamp(float(timestamp_long / 1000)) return d def today_timestamp_long(): """ 获取今天开始和结束的毫秒时间戳 :return: """ start = parse("00:00") end = start + timedelta(days=1) return start.timestamp() * 1000, end.timestamp() * 1000 def parse_time(time_str): return datetime.strptime(time_str, '%H:%M').time() def eq_time(time1: str, time2: str): time1 = datetime.strptime(time1, '%H:%M').time() time2 = datetime.strptime(time2, '%H:%M').time() today = datetime.today().date() time1 = datetime.combine(today, time1) time2 = datetime.combine(today, time2) return time1 == time2 def ge_time(time1: str, time2: str): """ 比较time1是否大于等于time2 :param time1: :param time2: :return: """ time1 = datetime.strptime(time1, '%H:%M').time() time2 = datetime.strptime(time2, '%H:%M').time() today = datetime.today().date() time1 = datetime.combine(today, time1) time2 = datetime.combine(today, time2) return time1 >= time2 def lt_time(time1: str, time2: str): """ 比较time1是否小于time2 :param time1: :param time2: :return: """ time1 = datetime.strptime(time1, '%H:%M').time() time2 = datetime.strptime(time2, '%H:%M').time() today = datetime.today().date() time1 = datetime.combine(today, time1) time2 = datetime.combine(today, time2) return time1 < time2 if __name__ == '__main__': print(lt_time("18:52", "23:55"))