Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/joomla/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
将日期从mm/dd/yyyy转换为Python中的另一种格式_Python_Datetime_Python 3.x - Fatal编程技术网

将日期从mm/dd/yyyy转换为Python中的另一种格式

将日期从mm/dd/yyyy转换为Python中的另一种格式,python,datetime,python-3.x,Python,Datetime,Python 3.x,我正在尝试编写一个程序,要求用户以mm/dd/yyyy格式输入日期并进行转换。因此,如果用户输入01/01/2009,程序应显示2009年1月1日。这是我目前的节目。我成功地转换了月份,但其他元素周围有一个括号,因此它显示的是一月[01][2009] date=input('Enter a date(mm/dd/yyy)') replace=date.replace('/',' ') convert=replace.split() day=convert[1:2] year=convert[2:

我正在尝试编写一个程序,要求用户以mm/dd/yyyy格式输入日期并进行转换。因此,如果用户输入01/01/2009,程序应显示2009年1月1日。这是我目前的节目。我成功地转换了月份,但其他元素周围有一个括号,因此它显示的是一月[01][2009]

date=input('Enter a date(mm/dd/yyy)')
replace=date.replace('/',' ')
convert=replace.split()
day=convert[1:2]
year=convert[2:4]
for ch in convert:
    if ch[:2]=='01':
        print('January ',day,year )

提前谢谢你

不要改头换面,使用python标准库()中的
datetime
模块中的
strtime()
strftime()
组合:


用斜线分开

convert = replace.split('/')
然后创建月份词典:

months = {1:"January",etc...}
然后要显示它,请执行以下操作:

print months[convert[0]] + day + year

您可能希望查看python的datetime库,它将为您解释日期

您可以在此处检查%m、%d和其他标识符代表什么:

作为建议使用,它可以自行推断格式:

>>> from dateutil.parser import parse
>>> parse('01/05/2009').strftime('%B %d, %Y')
'January 05, 2009'
>>> parse('2009-JAN-5').strftime('%B %d, %Y')
'January 05, 2009'
>>> parse('2009.01.05').strftime('%B %d, %Y')
'January 05, 2009'

你有没有看过convert的实际内容?它显示:['01','01','2009']你知道切片是如何工作的吗?
from datetime import datetime
d = input('Enter a date(mm/dd/yyy)')

# now convert the string into datetime object given the pattern
d = datetime.strptime(d, "%m/%d/%Y")

# print the datetime in any format you wish.
print d.strftime("%B %d, %Y") 
>>> from dateutil.parser import parse
>>> parse('01/05/2009').strftime('%B %d, %Y')
'January 05, 2009'
>>> parse('2009-JAN-5').strftime('%B %d, %Y')
'January 05, 2009'
>>> parse('2009.01.05').strftime('%B %d, %Y')
'January 05, 2009'