Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python datetime.today()来处理时区_Python_Datetime - Fatal编程技术网

Python datetime.today()来处理时区

Python datetime.today()来处理时区,python,datetime,Python,Datetime,您好,我对python datetime的基本问题表示歉意,但我有点困惑: 我只想有一个变量来打印今天的日期,考虑到我运行它的程序所在的时区。比如说加利福尼亚 import datetime import pytz utc_now = pytz.utc.localize(datetime.datetime.utcnow()) pst_now = utc_now.astimezone(pytz.timezone("America/Los_Angeles")) x = pst_now.isoform

您好,我对python datetime的基本问题表示歉意,但我有点困惑:

我只想有一个变量来打印今天的日期,考虑到我运行它的程序所在的时区。比如说加利福尼亚

import datetime
import pytz
utc_now = pytz.utc.localize(datetime.datetime.utcnow())
pst_now = utc_now.astimezone(pytz.timezone("America/Los_Angeles"))
x = pst_now.isoformat()
对于x,它返回:

2020-01-13T17:43:56.155556-08:00
我如何让它返回:

2020-01-13
我试过:

datetime.datetime.strptime(x, '%Y-%m-%d)

但它不起作用

x
是一个字符串
pst\u now
是一个datetime对象,当对其调用方法
.isoformat()
时,它会生成一个字符串

解决方案:立即在pst\U上调用strftime:

x = pst_now.strftime('%Y-%m-%d')

x
是一个字符串
pst\u now
是一个datetime对象,当对其调用方法
.isoformat()
时,它会生成一个字符串

解决方案:立即在pst\U上调用strftime:

x = pst_now.strftime('%Y-%m-%d')

如果您只是想返回本地机器的时间,不需要在代码中直接处理时区,那么可以使用datetime的now函数

import datetime
datetime.datetime.strftime(datetime.datetime.now(), '%Y-%m-%d')

如果您只是想返回本地机器的时间,不需要在代码中直接处理时区,那么可以使用datetime的now函数

import datetime
datetime.datetime.strftime(datetime.datetime.now(), '%Y-%m-%d')

您现在可以将
pst\u
转换为
date()
对象:

pst_now.date().isoformat()
‘2020-01-13’


您现在可以将
pst\u
转换为
date()
对象:

pst_now.date().isoformat()
‘2020-01-13’


我得到:AttributeError:type对象“datetime.datetime”没有属性“datetime”看起来您在某个地方有太多的datetime。如果您使用的是导入日期时间,那么我的代码应该可以工作。如果您使用的是from datetime import datetime,请从我的每个引用中删除其中一个datetime。感谢您的跟进,现在我获得:AttributeError:module'datetime'没有属性'strftime'。事实上,很抱歉,是的,我获得了返回日期,但整个问题仍然存在-它显示的是'2020-01-14',即明天,我的机器反映2020-01-13@004您希望在计算机上显示的日期是什么,以及它显示在哪里?我得到了:AttributeError:键入对象“datetime.datetime”没有属性“datetime”看起来您在某处有太多的datetime。如果您使用的是导入日期时间,那么我的代码应该可以工作。如果您使用的是from datetime import datetime,请从我的每个引用中删除其中一个datetime。感谢您的跟进,现在我获得:AttributeError:module'datetime'没有属性'strftime'。事实上,很抱歉,是的,我获得了返回日期,但整个问题仍然存在-它显示的是'2020-01-14',即明天,我的机器反映2020-01-13@004您希望您的机器上显示的日期是什么?它显示的位置是
2020-01-14
?但是它不起作用,仅仅说“它不起作用”不足以帮助我们解决问题。告诉我们它实际上做了什么,你想要什么。但是它不起作用,仅仅说“它不起作用”不足以帮助我们解决问题。告诉我们它到底做了什么,你想要什么。