You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

102 lines
2.3 KiB

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