當前日期/時間:
from datetime import datetime, timedelta now_time = datetime.now() today_date_format = now_time.strftime('%Y-%m-%d 00:00:00') today_time_format = now_time.strftime('%Y-%m-%d')
時間格式轉換:
時間運算:(加減8個小時)
return_time = (datetime.now() + timedelta(hours=8)).strftime('%Y-%m-%d %H:%M:%S%f')
示例1:輸入一段時間字符,跟當前時間,比較大小:
# -*- coding: utf-8 -*- import datetime import time def time_compare(timestr): # 將日期字符串轉為時間再比較,time,datetime,str # timestr 是傳入的時間字符串,格式如:2019-11-25 00:00:00 # 獲取當前時間日期 now_time_str = datetime.datetime.now().strftime('%Y-%m-%d') print(now_time_str) # mktime參數為struc_time,將日期轉化為秒, e_time = time.mktime(time.strptime(now_time_str, "%Y-%m-%d")) print(e_time) try: s_time = time.mktime(time.strptime(timestr, '%Y-%m-%d %H:%M:%S')) print(s_time) # 日期轉化為int比較 diff = int(e_time) - int(s_time) print(diff) if diff > 0: # 當前時間 大於 輸入時間 return True else: # 當前時間 小於 輸入時間 return False except Exception as e: print(e) return False
示例2:輸入一段時間字符,加減某段時間(幾天),計算結果,跟當前時間比較:
def time_compare_operation(time_str, delay_days): # 傳入日期字符串+時間間隔(delay_days整數-單位/天) 跟當前時間 比較大小 # 等效 傳入日期字符串 和 當前時間-時間間隔(整數-單位:天) 比較大小 ---因為直接用當前時間做計算方便 # time_str格式:2019-11-25 00:00:00 # 獲取當前時間日期 - 預警時間 result_time_str = (datetime.datetime.now() - datetime.timedelta(days=delay_days)).strftime("%Y-%m-%d %H:%M:%S") print(result_time_str) result_time = time.mktime(time.strptime(result_time_str, "%Y-%m-%d")) try: s_time = time.mktime(time.strptime(time_str, '%Y-%m-%d %H:%M:%S')) print(s_time) # 日期轉化為int比較 diff = int(result_time) - int(s_time) print(diff) if diff > 0: # 當前時間 大於 傳入日期字符串+時間間隔(整數-單位:天) return 'greater' elif diff == 0: # 當前時間 等於 傳入日期字符串+時間間隔(整數-單位:天) return 'equal' else: # 當前時間 小於 傳入日期字符串+時間間隔(整數-單位:天) return 'less' except Exception as e: print(e) return False