在Python中将日期从mm/dd/yyyy格式转换为其他格式

12

我正在编写一个程序,要求用户以 mm/dd/yyyy 的格式输入日期并进行转换。因此,如果用户输入 01/01/2009,则程序应该显示 January 01, 2009。这是我目前的程序。我已经成功地将月份进行了转换,但其他元素周围有括号,所以它显示为January [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 )

感谢您的提前帮助!


你看过 convert 实际包含的内容了吗? - Ignacio Vazquez-Abrams
它显示:['01', '01', '2009'] - user3307366
你了解切片的工作原理吗? - Ignacio Vazquez-Abrams
5个回答

31

不要重复造轮子,使用Python标准库中的datetime模块提供的strptime()strftime()组合方法 (文档):

>>> from datetime import datetime
>>> date_input = input('Enter a date(mm/dd/yyyy): ')
Enter a date(mm/dd/yyyy): 11/01/2013
>>> date_object = datetime.strptime(date_input, '%m/%d/%Y')
>>> print(date_object.strftime('%B %d, %Y'))
November 01, 2013

6

您可能需要研究一下Python的日期时间库,它可以帮助您解释日期。 https://docs.python.org/2/library/datetime.html#module-datetime

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") 

您可以在此处查看%m、%d和其他标识符的含义:https://docs.python.org/2/library/datetime.html#strftime-and-strptime-behavior

该链接提供了有关Python日期时间格式化的详细信息。

2
作为建议,使用dateutil,它可以自动推断格式。
>>> 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'

1

通过斜线分割它

convert = replace.split('/')

然后创建一个月份的字典:
months = {1:"January",etc...}

然后要显示它,请执行以下操作:
print months[convert[0]] + day + year

0
date_string = input('Enter a date using the mm/dd/yyyy format: ')
date_list = date_string.split('/')
month = date_list[0]
day = date_list[1]
year_ = date_list[2]
print(month, day, ',', year_ )
input('Press enter to end: ')

你的回答可以通过提供更多支持信息来改进。请编辑以添加有关你的代码的进一步细节。 - CreepyRaccoon

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接