首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Python -如何在特定的PST/PDT时间运行函数?

Python -如何在特定的PST/PDT时间运行函数?
EN

Stack Overflow用户
提问于 2018-02-03 03:35:46
回答 3查看 1.2K关注 0票数 0

我开始学习python,并尝试创建在特定时间运行特定命令的脚本。这就是我到目前为止所知道的:

代码语言:javascript
运行
复制
import datetime

day_of_week = datetime.date.today().weekday() # 0 is Monday, 6 is Sunday
time = datetime.datetime.now().time()

if day_of_week == 4 and (time >= datetime.time(2,45) and time < datetime.time(9)):
    #do something
elif (day_of_week == 3 and time > datetime.time(22)) or (day_of_week == 4 and time < datetime.time(2,45)):
    #wait until 2h45
else:
    #do nothing

我希望脚本只继续在特定的一天,当它大约19h00PST/PDT(2h45GMT/UTC)。我写的那个在GMT/UTC下工作得很好,但我确定当夏令时开始或如果我将本地时区更改为不同的时区时,它将失败。

我该怎么做才能让脚本检查PST/PDT中的当前时间,并从那里继续,忽略或转换本地时区?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2018-02-03 04:14:52

@Ruben,请尝试下面的代码。它总是以美国/太平洋时区为单位查看时间。希望能有所帮助。谢谢。

代码语言:javascript
运行
复制
import datetime
import pytz

pst_timezone = pytz.timezone("US/Pacific")
time=datetime.datetime.now(pst_timezone).time()
print(time)

Result: 12:13:10.136603
票数 0
EN

Stack Overflow用户

发布于 2018-02-03 03:55:44

你应该调查一下pytz

Python: display the time in a different time zone也会很有帮助

票数 0
EN

Stack Overflow用户

发布于 2018-02-03 03:58:44

Pythons Datetime从系统时间中提取。因此,如果系统设置为使用DST,那么您就可以了。

如果你不信任或者不能信任系统时间,那么任何内置函数都不会是准确的。然后,您需要让您的程序从另一台服务器获取时间。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48589734

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档