108 lines
2.8 KiB
Python
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'
|