我需要从不同的参数构造日期时间对象。例如,我得到这些参数:
- 0 到 6 之间的整数。这个表示工作日。
- float 格式的小时和分钟(从 0.0 到 24.0)。
然后我知道今年是哪一周。因此,例如,假设日期时间应该从 2014-07-18 00:00:00
到 2014-07-24 23:59:00
(秒可以被忽略并留在 00
)。因此,为了获得准确的日期时间,我需要使用上面定义的参数。
假设我将获得这些参数 4
(表示星期五)和 9.5
(表示 09:30
)。
所以通过这样的构造,我应该得到一个日期:2014-07-22 09:30:00
。怎么能做到这样的事情?
我是否需要通过知道一年中的星期几和星期几来以某种方式获取例如一个月中的第几天?
附言我正在尝试完成的更详细的示例
from datetime import datetime
today = datetime.today() #using this to get the week I'll be working with.
today = today.replace(day=?) #how to get which day I
#need to enter by having weekday and knowing that week is the present one?
最佳答案
如果您的参数是工作日和 t(时间),您可以这样做:
from datetime import timedelta
monday = today - timedelta(days=today.weekday())
result = (monday + timedelta(days=weekday)).replace(hour=int(t), minutes=int((t - int(t)) * 60))
关于Python构造具有工作日和其他时间参数的日期时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25426919/