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

mwecs4sa  于 2023-04-28  发布在  Python
关注(0)|答案(5)|浏览(125)

我试图写一个程序,要求用户输入格式为mm/dd/yyyy的日期,并转换它。因此,如果用户输入01/01/2009,则程序应显示2009年1月01日。到目前为止,这是我的计划。我设法转换了月份,但其他元素周围有一个括号,因此它显示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 )

感谢您的评分

dxxyhpgq

dxxyhpgq1#

不要重新发明轮子,使用datetime模块中的strptime()strftime()的组合,这是python标准库(docs)的一部分:

>>> 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
baubqpgj

baubqpgj2#

你可能想看看python的datetime库,它会为你解释日期。 www.example.com

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和其他标识符代表什么: www.example.com

tf7tbtn2

tf7tbtn23#

建议使用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'
q7solyqu

q7solyqu4#

用斜线分开

convert = replace.split('/')

然后创建一个月份的字典:

months = {1:"January",etc...}

然后显示它:

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

slwdgvem5#

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: ')

相关问题