根據小時引數是否傳遞給日期時間物件,我需要幫助撰寫函式。
帶小時引數的
start_date_dt = datetime(2020, 1, 1, 0)
示例: 不帶示例:
start_date_dt = datetime(2020, 1, 1)
根據用戶是否通過另一個我有一個 if else 生成。我嘗試了以下作為測驗
if start_date_dt.minute is not None:
print(start_date_dt)
else:
print(False)
但我認為這是不對的,因為一旦生成物件,日期時間的 00:00:00 部分就會自動創建,并且從技術上講永遠不會不是沒有。
先感謝您!
uj5u.com熱心網友回復:
我不認為這是可能的,在開箱即考慮到-如果不是通過- hour,minute并且second被默認為0:
d1 = datetime(2022, 12, 15)
d2 = datetime(2022, 12, 15, 0, 0, 0)
d1.hour == d2.hour # True
d1.minute == d2.minute # True
d1.second == d2.second # True
你可以寫一個包裝類:
from datetime import datetime
class my_datetime:
def __init__(self, year, month, day, hour = None, minute = None, second = None):
hour, self.hour_passed = 0, False if hour is None else hour,True
minute, self.minute_passed = 0, False if minute is None else minute,True
second, self.second_passed = 0, False if second is None else second, True
self.dt = datetime(year, month, day, hour, minute, second)
uj5u.com熱心網友回復:
如果您的上游簡單地將日期時間物件 start_date_dt 傳遞給您(沒有其他資訊),則 HH:MM:SS 已經決議為 00:00:00,我認為幾乎不可能確定上游輸入的時間是小時=0 還是離開了小時引數“空”。
從邏輯上講,它需要您向后退一步,這可以使您的上游通過包裝器或子類或其他方式為您提供更多資訊。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/382530.html
上一篇:在熊貓中滾動平均值后重新采樣
