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

59 lines
2.0 KiB
Python

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

#!/usr/bin/env python
import datetime
from datetime import datetime, timedelta
# 获取过去几天的日期
def get_last_days(delta):
days = []
now = datetime.datetime.now()
for i in range(1, delta):
last_date = now + datetime.timedelta(days=-i)
last_date_str = last_date.strftime('%Y-%m-%d') # 格式化输出
days.append(last_date_str)
days.sort()
return days
def time_diff(t1):
# 将字符串转换为 datetime 对象
t1 = datetime.strptime(t1, "%Y-%m-%d %H:%M:%S")
# 计算当前时间与 t1 的差值
diff = datetime.now() - t1
# 计算天数、小时数和分钟数
days = diff.days
hours, remainder = divmod(diff.seconds, 3600)
minutes, seconds = divmod(remainder, 60)
# 返回格式化的时间差
return f"{days}:{hours}:{minutes}"
class DateNext(object):
def get_next_week_date(self, weekday):
# 获取下周几的日期
# weekday取值如下
# (MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY) = range(7)
today = datetime.date.today()
onday = datetime.timedelta(days=1)
# m1 = calendar.MONDAY
while today.weekday() != weekday:
today += onday
# logging.info(datetime.date(today.year, today.month, today.day))
nextWeekDay = today.strftime('%Y-%m-%d')
return nextWeekDay
def get_next_month_date(self, day_of_the_month):
# 获取下个月几号的日期
today_date = datetime.datetime.today()
today = today_date.day
if today == day_of_the_month:
return today_date.strftime('%Y-%m-%d')
if today < day_of_the_month:
return datetime.date(today_date.year, today_date.month, day_of_the_month).strftime('%Y-%m-%d')
if today > day_of_the_month:
if today_date.month == 12:
return datetime.date(today_date.year+1, 1, day_of_the_month).strftime('%Y-%m-%d')
return datetime.date(today_date.year, today_date.month+1, day_of_the_month).strftime('%Y-%m-%d')