今天和明天的日期是在python的PST时区中的YYYY-MM-DD格式

时间:2014-03-20 01:25:30

标签: python date datetime

我需要在PST时区的python中以YYYY-MM-DD格式获取今天和明天的日期。 datetime()以UTC格式返回日期。我有一个内部JIRA系统,它使用PST日期设置,我想查询。代码将在受限制的环境中运行,我无法安装任何外部python模块,如pytz库。我尝试了很多方法,但都没有成功。

无论如何它可以在python中完成吗?

3 个答案:

答案 0 :(得分:2)

对于datetime.date.today()的时区存在困惑,http://docs.python.org/2/library/datetime.html它给出了当地时间。现在它是格林威治的第20个,谷歌:

凌晨1:55 2014年3月20日星期四(格林威治标准时间) 时间格林威治,伦敦,英国

今天在科罗拉多州()给出第19名:

>>> import datetime
>>> str(datetime.date.today())
'2014-03-19'
>>> str(datetime.date.today() + datetime.timedelta(1))
'2014-03-20'
>>> 

答案 1 :(得分:2)

好像你可以使用timedelta将UTC转换为PST,将今天的日期转换为明天的日期:

from datetime import datetime, timedelta

print datetime.utcnow() - timedelta(hours=8) //convert to PST
print datetime.utcnow() + timedelta(days=1) //get tomorrow

对于'YYYY-MM-DD'格式,python docs

中有date.isoformat()方法

答案 2 :(得分:1)

我使用以下代码获取今天的日期和明天的PST日期。

from datetime import datetime, timedelta
from pytz import timezone
import pytz

/*Timezone aware object*/
utc_now = pytz.utc.localize(datetime.utcnow())
pst_now = utc_now.astimezone(pytz.timezone("America/Los_Angeles"))
file_dt=pst_now.strftime("%Y-%m-%d")
print(file_dt)


curr_time=datetime.utcnow().astimezone(pytz.timezone("America/Los_Angeles")
tom_time=utc_now+datetime.timedelta(days=1)
today=curr_time.strftime("%Y-%m-%d")
tomorrow=tom_time.strftime("%Y-%m-%d")
print("Today is "+today+" and Tomorrow is "+tomorrow)