我有一个基于Django的网站安装在共享的Web服务器上。我打算有几个cron作业来自动创建报告,发送电子邮件等。问题是共享服务器的时区是“America/New_York”(因为它是一个共享服务器,我没有权限改变它),而我必须根据“亚洲/加尔各答”时区运行克朗。我怎样才能做到这一点?Crontab:设置时区
感谢
克里斯的回答后更新
设置我的本地系统TZ为 '美国/纽约'
$ crontab -e
TZ=Asia/Kolkata
#(Accoring to some timezone dt: 21 July 11, time: 20:20)
20 20 * * * python test.py > test_log.txt
------ test.py --- ---
from datetime import datetime as dt
print dt.now()
------ test_log.txt ----
2011-07-22 08:42:02.592777
这是根据tz ='亚洲/加尔各答'的时间。我的问题是:我们可以根据亚洲/加尔各答时区执行脚本test.py吗?
我打算建议只是在crontab中补偿时间,但后来我意识到可能实际上并不适用于夏令时的使用。 – moberley
所以要解决这个问题,唯一的办法就是动态创建crontab条目。 – Konstant
而不是datetime.now(),请考虑datetime.utcnow()和相应的偏移量。阅读这篇文章以获取更多信息:http://lucumr.pocoo.org/2011/7/15/eppur-si-muove/。 – Kiwi