如何使用当前的当地时间来控制没有日期的过程

时间:2016-03-24 19:05:53

标签: python-2.7 raspberry-pi2

我需要每天晚上8点(太平洋夏令时间)晚上8点或晚上8点后停止流程。我看到很多关于时间函数的其他用法,但是这些例子似乎都是时间上的差异,某些事情的时间安排,或者总是包含日期。

有人可以提供一个例子,说明我如何制作这样的作品......? if currenttime> = 8:00 PM PDT:      time.sleep(99999999)

此外,我需要导入什么,以及如何导入?

2 个答案:

答案 0 :(得分:1)

我知道的方法是:

import datetime #this is the way to import a module named datetime...
import time     #this module is used to sleep

a = str(datetime.datetime.now())   #a = '2016-03-27 00:20:28.107000' #for example
a = a.split(' ')[1]          #get rid of the date and keep only the '00:20:28.107000' part
if a.startwith('20:00'): time.sleep(3600*12) #sleep for 12 hours (43200 seconds)

希望这可以帮助你

编辑:将时区更改为pdt:

import datetime,pytz #for python_TimeZone
a = str(datetime.datetime.now(pytz.timezone('US/Pacific'))) #basically get the time in the specified zone
#from here continue as above...

取自:http://www.saltycrane.com/blog/2009/05/converting-time-zones-datetime-objects-python/

祝你好运(下次尝试在谷歌搜索...)

答案 1 :(得分:0)

我实际上最终使用了hai tederry的答案和http://www.saltycrane.com/blog/2008/06/how-to-get-current-date-and-time-in/上的答案。 导致:

import time                             # import time library               
import datetime                         # this is the way to import a module named datetime...
import pytz                             # imports Python time zone (needed to first do: sudo easy_install --pytz upgrade) 
now = datetime.datetime.now(pytz.timezone('US/Pacific'))
timenow = now.strftime("%I:%M %p")
print timenow
if timenow > "08:30 PM" and timenow < "08:45 PM":
   print "Programmed Pause"
   time.sleep(999999)

这将使用AM / PM创建本地12小时格式的仅时间输出,可用于if语句等。