【发布时间】:2015-10-13 00:39:20
【问题描述】:
考虑以下24H 格式的day-of-week-hour 对列表:
{
'Mon': [9,23],
'Thu': [12, 13, 14],
'Tue': [11, 12, 14],
'Wed': [11, 12, 13, 14]
'Fri': [13],
'Sat': [],
'Sun': [],
}
和两个时间点,例如:
-
开始:
datetime.datetime(2015, 7, 22, 17, 58, 54, 746784) -
结束:
datetime.datetime(2015, 8, 30, 10, 22, 36, 363912)
假设我们需要知道对于上面指定的每个 day-of-week-hour 对,这两个日期时间之间有多少小时(向上或向下舍入)。
如何在 Python 中解决这个问题?我对timedelta 和relativedelta 进行了大致的详细研究,但没有找到任何可以提供与此类似的东西。
为简单起见,我们可以假设所有内容都指向同一个时区。
也许一个更简单的问题是专注于单个日-小时对,例如两个任意日期时间之间有多少个Wednesdays: 14?
【问题讨论】:
-
时区在这里重要吗?
-
谢谢@SimeonVisser 我们可以假设一切都指的是同一个时区。我将在 OP 中澄清。
-
那么基本上,在 2015-07-22 17:58:54 和 2015-08-30 10:22:36 之间有多少个星期三下午 2 点?
-
@TigerhawkT3 正确。
-
我相信你应该从计算两个时间点之间的周数开始。见this answer。
标签: python datetime python-3.x timedelta