2009-12-15 52 views
16

在Python中,我該如何檢查它的工作日(星期一至星期五)以及時間是上午10點至下午3點之間?如何檢查星期一至星期五的時間是上午10點至下午3點?

+3

您以前的問題有一個答案,其中包含您要求的代碼!更何況,你只是複製該問題http://stackoverflow.com/questions/1902338/how-to-implement-time-event-scheduler-in-python – SilentGhost 2009-12-15 12:59:04

+0

對不起,但較早的解決方案被投票-ve – Vishal 2009-12-15 14:57:17

+0

所以什麼?它以某種方式停止運行代碼? – SilentGhost 2009-12-15 15:24:15

回答

22
>>> import datetime 
>>> d = datetime.datetime.now() 
# => datetime.datetime(2009, 12, 15, 13, 50, 35, 833175) 

# check if weekday is 1..5 
>>> d.isoweekday() in range(1, 6) 
True 

# check if hour is 10..15 
>>> d.hour in range(10, 15) 
True 

# check if minute is 30 
>>> d.minute==30 
False 
+0

'範圍(6)'長度爲6 – SilentGhost 2009-12-15 12:55:23

+0

thx,應該是範圍(1,6).. – miku 2009-12-15 12:57:03

+1

小時檢查應該是'd.hour在範圍內(10,15)'。如果小時等於15,則已過了下午3點,因此在允許的小時數範圍內不應包含15。 – 2009-12-15 13:00:58

1
>>> import datetime 
>>> now = datetime.datetime.now() 
>>> now 
datetime.datetime(2009, 12, 15, 12, 45, 33, 781000) 
>>> now.isoweekday() 
2  # Tuesday 

時間爲上午10點到下午3點。就在那裏,以及

0

https://docs.python.org/2/library/datetime.html

的文檔指出date.weekday()返回星期爲一個整數,其中星期一爲0和週日爲6。所以這個代碼將工作:

import datetime # Hours must be 24 hour clock times def is_weekday_and_time_in_range(date, start_hour, end_hour): return date.weekday() < 5 and date.hour in range(start_hour, end_hour) today = datetime.datetime.now() is_weekday_and_time_in_range(today, 10, 15)

相關問題