Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/312.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从字符串获取并转换为日期_Python - Fatal编程技术网

python从字符串获取并转换为日期

python从字符串获取并转换为日期,python,Python,我想在python中将下面的字符串转换为date,如何进行转换 >>> d= "1997-01-29 00:00:00+00:00" >>> import datetime >>> datetime.datetime.strptime(d, '%Y-%m-%d').date() Traceback (most recent call last): File "<stdin>", line 1, in <module>

我想在python中将下面的字符串转换为date,如何进行转换

>>> d= "1997-01-29 00:00:00+00:00"
>>> import datetime
>>> datetime.datetime.strptime(d, '%Y-%m-%d').date()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib/python2.7/_strptime.py", line 328, in _strptime
data_string[found.end():])
ValueError: unconverted data remains:  00:00:00+00:00
d=“1997-01-29 00:00:00+00:00” >>>导入日期时间 >>>datetime.datetime.strtime(d,'%Y-%m-%d').date() 回溯(最近一次呼叫最后一次): 文件“”,第1行,在 文件“/usr/lib/python2.7/_strptime.py”,第328行,在_strptime中 数据_字符串[found.end():]) ValueError:未转换的数据保留:00:00:00+00:00
这个错误非常明确,因为根据您试图转换的内容,您的字符串中有一个未覆盖的部分是不期望的

您提供了以下信息:

d = "1997-01-29 00:00:00+00:00"
您正在尝试基于此模式进行转换:

'%Y-%m-%d'
错误是:

ValueError: unconverted data remains:  00:00:00+00:00
因此,您应该根据转换的方式简单地去掉时间部分。我只是简单地将您的字符串更改为以下内容:

>>> d= "1997-01-29"
>>> datetime.datetime.strptime(d, '%Y-%m-%d').date()
datetime.date(1997, 1, 29)

要么对输入进行切片,要么使用实际表示正在解析的数据的格式。python的哪个版本?python strTime不会喜欢时区偏移块中的冒号。再看一看,你想要什么日期?字符串文本中的日期部分(在这种情况下,您可以只解析空格而忽略字符串的其余部分)?或者,您需要确定在执行这一代码的机器上,DATESTIME字符串所代表的时间点是哪一天(在这种情况下,您需要考虑整件事情,包括时区偏移)?回答我自己的问题:Python 2.7。没错,python strTime不能直接处理这种格式的时区偏移。有关解决方法的想法,请参见上面的链接答案。但我认为,在决定实施之前,您应该首先更清楚地说明您的需求。您能补充一些解释吗?
d= "1997-01-29 00:00:00"
import datetime
print datetime.datetime.strptime(d, "%Y-%m-%d %H:%M:%S")