我正在嘗試在開始日期和結束日期之間選擇一個隨機日期。但是,結果我得到一個錯誤ValueError: Invalid format string
這是我的腳本。這里有什么問題?
start = datetime.datetime.strptime('2022-01-01 00:00:00', '%Y-%m-%d %H:%M:%S') # Specify start date
end = datetime.datetime.strptime('2022-01-10 00:00:00', '%Y-%m-%d %H:%M:%S') # Specify end date
def random_datetime(start, end):
# add check for start, end as datetime
a = start.strftime('%s')
b = end.strftime('%s')
return datetime.datetime.fromtimestamp(random.randint(a, b))
print(random_datetime(start, end))
uj5u.com熱心網友回復:
我希望 random.randint(a,b) 在函式之外的兩個指定日期之間選擇一個隨機日期和時間。
如果您正在尋找在給定日期之間創建隨機日期時間的函式:
import datetime
import random
def random_datetime(start, end):
a = start.timestamp()
b = end.timestamp()
return datetime.datetime.fromtimestamp(random.uniform(a, b))
>>> random_datetime(datetime.datetime.strptime('2022-01-01 00:00:00', '%Y-%m-%d %H:%M:%S'), datetime.datetime.strptime('2022-01-10 00:00:00', '%Y-%m-%d %H:%M:%S'))
datetime.datetime(2022, 1, 7, 17, 22, 24, 99912)
random.uniform接受兩個數字作為引數并回傳該范圍內的浮點數,同時datetime.timestamp()回傳一個 POSIX 時間戳作為浮點數。
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/466212.html
