Python 确定datetime是否在工作日计划内

Python 确定datetime是否在工作日计划内,python,datetime,timezone,Python,Datetime,Timezone,我想知道一个给定的datetime是否在DaySeparation时间表及其时区内指定 例如: 确定epoch=1537414453837是否在以下规定的时间表内: 分日时区:亚洲/香港(可能会更改) 分日时间表: mon: 0900-2300 tue: 0900-2300 wed: 0900-2300 thu: 0900-2300 fri: 0900-2300 sat: 1000-2300 sun: 1000-2300 纪元时间与时区无关。它是从UTC时区的1970年1月1日午夜开始计算的。

我想知道一个给定的datetime是否在DaySeparation时间表及其时区内指定

例如:

确定
epoch=1537414453837
是否在以下规定的时间表内:

分日时区:亚洲/香港(可能会更改)

分日时间表:

mon: 0900-2300
tue: 0900-2300
wed: 0900-2300
thu: 0900-2300
fri: 0900-2300
sat: 1000-2300
sun: 1000-2300

纪元时间与时区无关。它是从UTC时区的1970年1月1日午夜开始计算的。无论您当前在何处,它在任何地方都显示相同的历元时间。但您可以将给定的历元时间转换为其他时区

使用
pytz.all_时区查看所有可用时区

以下是其中一种方法

from datetime import datetime
import pytz
epoch_time=1537414453837/1000 
weekdays = ('Monday','Tuesday','Wednesday','Thursday', 'Friday')
weekends = ('Saturday', 'Sunday')

local_time=datetime.fromtimestamp(epoch_time, tz= pytz.timezone('Hongkong'))
hours = local_time.hour

day = datetime.fromtimestamp(epoch_time).strftime("%A")
if (day in weekdays):
    if (hours in range(9,23)):
        print("its Dayparting Schedule and a weekday")
elif (day in weekends):
    if (hours in range(10,23)):
        print("its Dayparting Schedule and a weekend")
else:
    print("no such day")

在未来的很长一段时间里,epoch=1537414453837不是很长吗?它比当前历元值(time.time()=>1537417525)大1000倍。我认为您需要定义周数(或周一的日期)才能计算出来。例如,今天是哪一个星期一?@Kingsley dude这是几毫秒。。。