我有一個腳本(不是我自己的),它可以計算我的satreceiver中的電影長度。它顯示了長度分鐘:秒如何獲得小時:分鐘
我想有在小時:分鐘
我有什麼變化,使?
這是腳本的有關和平:
if len > 0:
len = "%d:%02d" % (len/60, len % 60)
else:
len = ""
res = [ None ]
我已經由3600而不是60分拿到了幾個小時,但不能得到分鐘...
在此先感謝
彼得
我有一個腳本(不是我自己的),它可以計算我的satreceiver中的電影長度。它顯示了長度分鐘:秒如何獲得小時:分鐘
我想有在小時:分鐘
我有什麼變化,使?
這是腳本的有關和平:
if len > 0:
len = "%d:%02d" % (len/60, len % 60)
else:
len = ""
res = [ None ]
我已經由3600而不是60分拿到了幾個小時,但不能得到分鐘...
在此先感謝
彼得
hours = secs/3600
minutes = secs/60 - hours * 60
len = "%d:%02d" % (hours, minutes)
或者,更Python的最近版本:
hours = secs // 3600
minutes = secs // 60 - hours * 60
len = "%d:%02d" % (hours, minutes)
是的,這工作!解決了完整的Python-noob中的這個小問題。感謝大家! 彼得 – Peter
那麼len在電影中的秒數?這是一個糟糕的名字。 Python已經使用len這個詞來表示別的東西。更改。
def display_movie_length(seconds):
# the // ensures you are using integer division
# You can also use/in python 2.x
hours = seconds // 3600
# You need to understand how the modulo operator works
rest_of_seconds = seconds % 3600
# I'm sure you can figure out what to do with all those leftover seconds
minutes = minutes_from_seconds(rest_of_seconds)
return "%d:%02d" % (hours, minutes)
所有你需要做的是找出minutes\_from\_seconds()
應該是什麼樣子。如果您仍然感到困惑,請對模運算符進行一些研究。
有一個很好的答案,這在這裏https://stackoverflow.com/a/20291909/202168(這個問題的後續副本)
然而,如果你在一個時間字符串處理時區偏移,那麼你還需要處理負小時,在這種情況下,零填充在馬亭的答案不工作
例如,它會返回-4:00
,而不是-04:00
爲了解決這個問題的代碼會被稍微延長,如下:
offset_h, offset_m = divmod(offset_minutes, 60)
sign = '-' if offset_h < 0 else '+'
offset_str = '{}{:02d}{:02d}'.format(sign, abs(offset_h), offset_m)
您可以使用timedelta
from datetime import timedelta
str(timedelta(minutes=100))[:-3]
# "1:40"
不錯。我會添加:'str(timedelta(minutes = 100))[: - 3]'如果你不想顯示秒。 – J0ANMM
嗨,彼得。你可以添加一個標籤,說明你正在使用什麼語言,所以我們不會在答案中出錯。謝謝! –
一小時內有60分鐘。所以如果你知道有多少分鐘,只需將分鐘除以60即可,而且你有多少小時。 –