我想編寫一個程序,允許用戶在開始時間小時,結束時間小時和分區數輸入。Python時間數學
因此,他們可能會輸入9,10和4,這意味着開始時間爲上午9:00,結束於上午10:00,並將範圍分割4次,從而產生9:00,9:15的輸出,9:30,9:45。
我試過使用時間模塊和日期時間,但無法獲得額外的工作時間。我不在乎約會。
我可以計算時間分割,但實際除了開始時間是逃避我。
我有大量的代碼,以下是大多數我試圖找出如何使這項工作。我嘗試添加分鐘,嘗試轉換爲秒,鑽入日期時間,嘗試時間模塊,但似乎無法使其工作。有很多關於如何「現在增加15分鐘」的例子,但問題是我不想從「現在」開始,而是讓用戶決定開始時間。
謝謝。
time_start = "9"
time_end = "10"
time_split = "4"
if len(time_start) == 1:
time_start = "0" + str(time_start) + ":00"
else:
time_start = str(time_start) + ":00"
if len(time_end) == 1:
time_end = "0" + str(time_end) + ":00"
else:
time_end = str(time_end) + ":00"
print time_start
print time_end
s1 = time_start + ':00'
s2 = time_end + ':00'
FMT = '%H:%M:%S'
tdelta = datetime.strptime(s2, FMT) - datetime.strptime(s1, FMT)
divided = tdelta/int(time_split)
print tdelta
print divided
s3 = str(divided)
print "s1 time start: " + str(s1)
print "s2 time end: " + str(s2)
print "s3 time divided: " + str(s3)
ftr = [3600,60,1]
add_seconds = sum([a*b for a,b in zip(ftr, map(int,s3.split(':')))])
print "s3 time divided seconds: " + str(add_seconds)
print "time delta: " + str(tdelta)
你必須先回答一些關鍵問題:你如何處理拆分天(例如晚上10點 - 凌晨2點)? 12或24小時制(例如,10 =上午10:00或下午10:00)? –
此外,您如何計劃處理輸入,如9,10和7,其中拆分並不那麼簡單。 – Jordonias
@Manish請看看我對我的回答所做的修改 - 我的新實現更清晰,更優雅地處理關於不愉快時間分割的問題。 –