python 日期生成和時間格式化


記錄下日期時間的轉換和生成:
1.這個是使用datetime 函數生成往后幾天的時間,比如當前日期是2019-07-01 那么控制days=1然后再和當前的時間相加,就能得到明天的日期
def time_formate(t):
"""
日期格式化,使用datetime.timedelta(days=1) 來返回幾天后的日期
:param t: 傳入日期
:return: 返回時間+1的日期
"""
d = datetime.datetime.strptime(t, '%Y-%m-%d')
d1 = datetime.timedelta(days=1)
day = d + d1
return day
2.這個是計算時間差的,傳入兩個時間t1,t2,先根據長度判斷要不要進行截取(因為我的數據是從excel來的,excel讀取出來的格式是'2019-07-01),最后返回整數時間,單位H
def time_Comparison(t1,t2):
"""
計算時間差
:param t1:
:param t2:
:return:
"""
diff_time = 0
print(t1, t2)
if len(str(t1)) == 19 and len(str(t2)) == 19 or len(str(t1)) == 18:
d1 = time.mktime(time.strptime(t1, '%Y-%m-%d %H:%M:%S'))
d2 = time.mktime(time.strptime(t2, '%Y-%m-%d %H:%M:%S'))
d = datetime.timedelta(seconds=d2 - d1)
diff_time = str(d).split(':')[0]
else:
t1 = str(t1).split('\'')[1]
t2 = str(t2).split('\'')[1]
time1 = str(t1).split(' ')[1]
time2 = str(t2).split(' ')[1]
print(t1, t2)
print(time1, time2)
if time1 == '0' or time2 == '0':
diff_time = 0
elif t2 > t1:
d1 = time.mktime(time.strptime(t1, '%Y-%m-%d %H:%M:%S'))
d2 = time.mktime(time.strptime(t2, '%Y-%m-%d %H:%M:%S'))
d = datetime.timedelta(seconds=d2 - d1)
diff_time = str(d).split(':')[0]
else:
diff_time = 0
return diff_time
3.這個是根據指定的時間段,生成時間段內的所有日期
def getEveryDay(begin_date='2019-06-01',end_date='2019-12-31'):
"""指定開始時間和結束時間,獲取中間的日期"""
date_list = []
begin_date = datetime.datetime.strptime(begin_date, "%Y-%m-%d")
end_date = datetime.datetime.strptime(end_date, "%Y-%m-%d")
while begin_date <= end_date:
date_str = begin_date.strftime("%Y-%m-%d")
date_list.append(date_str)
begin_date += datetime.timedelta(days=1)
print('共生成了%s天' % str(len(date_list)))
return date_list
4.時間戳批量裝換
def getEveryDayTime(date_list):
"""日期轉換為時間戳"""
time_stamps = []
for i in date_list:
dt = time.strptime(i, '%Y-%m-%d %H:%M:%S')
time_stamp = int(time.mktime(dt))
time_stamps.append(time_stamp)
print('合成后的時間戳:%s' % str(time_stamps))
return time_stamps
5.單個時間戳轉換
def getTime(t):
"""單個日期初始化時間戳"""
dt = time.strptime(t, '%Y-%m-%d %H:%M:%S')
time_stamp = int(time.mktime(dt))
return time_stamp
6.使用format格式化我們想要的時間格式
def paiban_data(self, day):
"""使用format初始化時間格式,plan_check_time"""
day_list = []
d = day.split(' ')[0]
dd = "'{} {}".format(d, '09:30:00')
db = "'{} {}".format(d, '18:30:00')
day_list.append(dd)
day_list.append(db)
return day_list


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM