确定日期时间是否在工作日时间表内

时间:2018-09-20 03:34:47

标签: python date datetime time

我想知道是否在时段安排及其时区中指定了给定的日期时间。

示例:

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

夏时制时区:亚洲/香港(可能会发生变化)

时段安排:

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

1 个答案:

答案 0 :(得分:1)

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

使用pytz.all_timezones查看所有可用时区。

遵循是方法之一。

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")