unified_python/src/common/Date_Time.py
2025-07-21 11:50:05 +08:00

108 lines
2.8 KiB
Python

#!/usr/bin/env python
# -*- coding: utf-8 -*-
import datetime
import time
def get_period(time_stamp):
time_array = time.localtime(int(time_stamp)/1000)
return time_array.tm_hour
def get_date_time(date_str):
date_ = datetime.datetime.strptime(date_str, '%Y-%m-%d')
return date_
def get_hour_diff(datetime1, datetime2):
td = datetime2 - datetime1
return td.days * 24 + td.seconds / 3600
def get_day_diff(datetime1, datetime2):
td = datetime2 - datetime1
return td.days + td.seconds / 3600 / 24
def get_current_day():
today = datetime.date.today()
return today
def get_now_datetime():
return datetime.datetime.now()
def get_current_yesterday():
today = get_current_day()
oneday = datetime.timedelta(days=1)
yesterday = today - oneday
return yesterday.strftime("%Y-%m-%d")
def get_yesterday(date_str):
date_ = get_date_time(date_str)
yesterday = date_ + datetime.timedelta(days=-1)
return yesterday
def get_lastyesterday(date_str):
date_ = get_date_time(date_str)
lastyesterday = date_ + datetime.timedelta(days=-2)
return lastyesterday
def get_lastweek_date(date_str):
date_ = get_date_time(date_str)
lastweek_date = date_ + datetime.timedelta(days=-7)
return lastweek_date
def get_lastlastweek_date(date_str):
date_ = get_date_time(date_str)
lastlastweek_date = date_ + datetime.timedelta(days=-14)
return lastlastweek_date
def get_lastweek_start_end_date(date_str):
date_ = get_date_time(date_str)
week = date_.strftime("%w")
week = int(week)
start_lastweek_date = date_ + datetime.timedelta(days=-(week + 6))
end_lastweek_date = date_ + datetime.timedelta(days=-week)
return start_lastweek_date, end_lastweek_date
def add_day(d_date, n):
return (d_date + datetime.timedelta(days=n)).strftime("%Y-%m-%d")
def get_lastmonth_start_end_date(date_str):
date_ = get_date_time(date_str)
start_lastmonth_date = datetime.date(date_.year, date_.month - 1, 1)
end_lastmonth_date = datetime.date(date_.year, date_.month, 1) - datetime.timedelta(1)
return start_lastmonth_date, end_lastmonth_date
def get_date_time_by_timestamp(time_stamp):
time_array = time.localtime(int(time_stamp)/1000)
otherStyleTime = time.strftime("%Y-%m-%d %H:%M:%S", time_array)
return otherStyleTime
# 获取当前时间字符%Y-%m-%d %H:%M:%S
def new_date_str():
return datetime.date.today().strftime("%Y-%m-%d")
# 获取指定时间-day天的日期
def schedule_date(day):
# 获取当前日期
current_date = datetime.date.today()
# 计算前一天的日期
previous_date = current_date - datetime.timedelta(days=day)
# 格式化日期输出
return previous_date.strftime('%Y-%m-%d')
if __name__ == "__main__":
startDate = '2020-04-10'