亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

將時間增量格式化為字符串

將時間增量格式化為字符串

素胚勾勒不出你 2019-07-02 16:58:24
將時間增量格式化為字符串我是Python新手(2周),我在格式化一個datetime.timedelta對象。下面是我要做的事情:我有一個對象列表,對象類的一個成員是一個TimeDelta對象,它顯示一個事件的持續時間。我想以小時:分鐘的格式顯示這個持續時間。我嘗試過各種各樣的方法來做這件事,而且我遇到了困難。我的當前方法是為返回小時和分鐘的對象向類添加方法。我可以通過將時差除以3600并將其舍入來得到時間。我很難把剩下的秒轉換成分鐘。順便說一下,我在用Google AppEngine帶著Django Templates以供介紹。
查看完整描述

3 回答

?
一只甜甜圈

TA貢獻1836條經驗 獲得超5個贊

您只需使用str()將timeDelta轉換為字符串即可。下面是一個例子:


import datetime

start = datetime.datetime(2009,2,10,14,00)

end   = datetime.datetime(2009,2,10,16,00)

delta = end-start

print(str(delta))

# prints 2:00:00


查看完整回答
反對 回復 2019-07-02
?
侃侃無極

TA貢獻2051條經驗 獲得超10個贊

如您所知,您可以通過訪問.seconds屬性。


Python提供了內置函數divmod()它允許:


s = 13420

hours, remainder = divmod(s, 3600)

minutes, seconds = divmod(remainder, 60)

print '{:02}:{:02}:{:02}'.format(int(hours), int(minutes), int(seconds))

# result: 03:43:40

或者,您可以使用模塊化和減法相結合的方法轉換為小時和余數:


# arbitrary number of seconds

s = 13420

# hours

hours = s // 3600 

# remaining seconds

s = s - (hours * 3600)

# minutes

minutes = s // 60

# remaining seconds

seconds = s - (minutes * 60)

# total time

print '{:02}:{:02}:{:02}'.format(int(hours), int(minutes), int(seconds))

# result: 03:43:40


查看完整回答
反對 回復 2019-07-02
?
開心每一天1111

TA貢獻1836條經驗 獲得超13個贊

>>> str(datetime.timedelta(hours=10.56))10:33:36>>> td = datetime.timedelta(hours=10.505)
 # any timedelta object>>> ':'.join(str(td).split(':')[:2])10:30

通過timedelta對象的str()函數調用相同的格式代碼,只要我們簡單地鍵入print td..由于不需要秒,我們可以用冒號(3部分)將字符串拆分,并將其與前2部分一起放回一起。


查看完整回答
反對 回復 2019-07-02
  • 3 回答
  • 0 關注
  • 516 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號