/ /時間の計算 - python、datetime

期間を指定して計算する - python、datetime

あなたの助けが必要です。

たとえば、作業時間:

start = datetime.datetime(2014, 11, 19, 7, 15)
end   = datetime.datetime(2014, 11, 19, 11, 15)

今私たちは4時間の労働時間があります。

私は機能、モジュール、または "私が残りの日"を得ることができるいくつかの助けが必要です。

たとえば、フリータイム:

freetime_begin_1 = datetime.datetime(2014, 11, 19, 0, 0)
freetime_end_1 = datetime.datetime(2014, 11, 19, 7, 15)
freetime_begin_2 = datetime.datetime(2014, 11, 19, 11, 15)
freetime_end_2 = datetime.datetime(2014, 11, 19, 23, 59)

私は何を意味するのか理解してくれることを願っています

ありがとう。

回答:

回答№1は0

あなたはこれを使うことができます:

#!/usr/bin/env python
#coding:utf-8
import datetime


def dt_desc(dt):
dt = str(dt)
days = dt[:-8]
dt = str(dt)[-8:]
h,m,s = map(lambda s:int(s.strip()),dt.split(":"))

ret = "%s"%days if len(days)!=0 else ""
ret += "%s hours "%h if h != 0 else ""
ret += "%s minutes "%m if m != 0 else ""
ret += "%s seconds"%s if s != 0 else ""
return ret

start = datetime.datetime(2014, 11, 19, 7, 15)
end   = datetime.datetime(2014, 11, 19, 11, 15)
print dt_desc(end-start)

freetime_begin_1 = datetime.datetime(2014, 11, 19, 0, 0)
freetime_end_1 = datetime.datetime(2014, 11, 19, 7, 14)
freetime_begin_2 = datetime.datetime(2014, 11, 19, 11, 16)
freetime_end_2 = datetime.datetime(2014, 11, 19, 23, 59)

print dt_desc(freetime_end_1 - freetime_begin_1)
print dt_desc(freetime_end_2 - freetime_begin_2)

freetime_begin_3 = datetime.datetime(2014, 1, 19, 11, 16)
freetime_end_3 = datetime.datetime(2014, 11, 19, 23, 59)

print dt_desc(freetime_end_3 - freetime_begin_3)