如何在Python中找到两个日期时间对象之间的业务时间差异?
营业时间可以是9-17
我也想考虑假期。我有一个函数is_holiday(date)
,它接受一个日期对象。
答案 0 :(得分:0)
File.AppendAllText(newStringVariable + System.Environment.NewLine);
我们确定您可以弄清楚如何实施def buisiness_time_between(datetime1, datetime2):
return business_time_after(datetime1) +
(business_time_per_day * days_between(datetime1,datetime2)) +
business_time_before(datetime2)
,business_time_after
,business_time_before
和business_time_per_day
答案 1 :(得分:0)
我真的没有找到这个问题的简单pythonic答案。
businesstime建议的包J.F. Sebastian做了我想要的,但我认为可以优化和简化算法。 例如,如果我们更改当天的模型,我们可以使用标准的python日期时间操作。
我试着更清楚:如果我们的工作日是9-17,我们可以说我们的日子是8小时而不是24小时。因此,9:00-> 0:00和17:00-> 08:00。现在我们要做的是创建一个以这种方式转换新模型中实时的函数:
在此转换之后,所有计算都可以使用python datetime包轻松完成,就像使用普通日期时一样。
还要感谢user2085282的回答,您可以在回购django-business-time中找到这个概念。
通过模型转换,我发现非常容易添加其他功能:午休时间
事实上,如果你有一个12-13的午休时间,你可以在新的一天模型中将所有时间间隔内的地图映射到12. 但是要注意转换后的时间也是13考虑一个小时的午休时间。
很抱歉,我开发的只是一个Django应用程序而不是Python包。但就目前而言,它对我有用。对不起我的代码,我是新手:)
PS:完整的文档即将推出!