Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/307.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/assembly/6.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:如何将2014年9月7日(字符串)的格式更改为dd/mm/yyyy?_Python_Datetime_Formatting - Fatal编程技术网

Python:如何将2014年9月7日(字符串)的格式更改为dd/mm/yyyy?

Python:如何将2014年9月7日(字符串)的格式更改为dd/mm/yyyy?,python,datetime,formatting,Python,Datetime,Formatting,我将日期作为字符串,格式如下:2014年9月7日 我愿意将其更改为dd/mm/yyyy格式 目前我正在使用此代码,但收到以下错误: for l in line: l = l.strip('\n').replace('"','') bl_time = l.split('\t') print bl_time s = datetime.datetime.strptime(bl_time,"%b %d %Y") 错误: Traceback (most recent ca

我将日期作为字符串,格式如下:2014年9月7日 我愿意将其更改为dd/mm/yyyy格式

目前我正在使用此代码,但收到以下错误:

for l in line:
    l = l.strip('\n').replace('"','')
    bl_time = l.split('\t')
    print bl_time
    s = datetime.datetime.strptime(bl_time,"%b %d %Y")
错误:

Traceback (most recent call last):
  File "/Users/Documents/scripts/whois.py", line 25, in <module>
    s = datetime.datetime.strptime(bl_time,"%b %d %Y")
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/_strptime.py", line 325, in _strptime
    (data_string, format))
ValueError: time data 'bl_date' does not match format '%b %d %Y'


bl_time is :
May 03 2014
Sep 05 2014


and  print '"{}"'.format(bl_time) is :
"May 03 2014"
"Sep 05 2014"
有人能帮忙吗?

Ref:

您可以这样做:

import datetime
d = datetime.datetime.strptime("Sep 07 2014", "%b %d %Y")
print d
print d.strftime("%d/%m/%Y")
这是将文本字符串转换为datetime对象,然后根据所需格式使用

进行格式化。我将使用优秀的库:


谢谢检查我的版本!我的问题是其他一些东西,最好是编辑后+1。bl_时间的价值是什么?这就是为什么你应该在第一次写一个好的问题,而不是将一个投票率很低的问题编辑成一个更好的问题更改打印bl_时间以打印“{}”“.format bl_time查看bl_time中是否有多余的空格…@TomDalton这是打印结果:2014年9月7日2012年6月8日2012年9月7日2014年7月24日我认为这只发生在一个特定输入上,而不是所有输入上。为了解决这个问题,我将把它放在一个try-except块中,并找出有问题的输入..一个小注释-他想要的是dd/mm/yyyy,而不是mm/dd/yyyy@Andy谢谢检查我的错误!我的问题是它说这不是正确的格式回溯上次调用:文件Documents/scripts/whois.py,第27行,在s=parsebl_time.strftime“%M/%D/%Y”文件/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/Python/dateutil/parser.py,第697行,在parse return DEFAULTPARSER.parsetimestr中,**kwargs文件/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/Python/dateutil/parser.py,第303行,在parse raise ValueError中,未知字符串格式ValueError:unknown string format列出的所有日期字符串都适用于我。也许编辑的try/except版本会给我们一个线索?
>>> dt  = datetime.datetime.strptime("Sep 07 2014", "%b %d %Y")
>>> dt
datetime.datetime(2014, 9, 7, 0, 0)
>>> dt.strftime("%d/%m/%Y")
'07/09/2014'
from dateutil.parser import parse

try:
    parse(bl_time).strftime("%m/%d/%Y")
except:
    print "could not parse %s" % bl_time