这个问题在这里已有答案:
我有一个功能,将3个数字转换为日期。
def conv(month, day, year):
months = ('None','January','February','March','April','May','June','July','August','September','October','November','December')
print(months[month],str(day)+',',year)
所以如果我运行这样的函数:conv(6,17,2016)输出将是:
June 17, 2016
到目前为止一切都那么好,但是如果我给06个而不是6个怎么样我怎么能得到像上面那样相同的输出呢?是否有任何方法可以使用06并以某种方式将其转换为6用于索引或者我必须只给6并且没有办法做到这一点?
假设您知道06将自动引发语法错误,这意味着您只能创建一个字符串,如"06"
。
用那说,简单的用于转换为int
number = int(month)
这将更容易消化:
import datetime
def conv(month, day, year):
d = datetime.date(year, month, day)
print(d.strftime("%B %d, %Y"))
我建议使用datetime
,
In [31]: d = datetime.datetime.now().date()
In [32]: d.strftime('%B %d, %Y')
Out[32]: 'August 30, 2018'
或者使用calender
。
import calendar
def conv(month, day, year):
print(calendar.month_name[int(month)],str(day)+',',year)
把你的06送到int
- 那将是正常的6.所以你将使用print(months[int(month)],str(day)+',',year)
打印
但正如评论中所提到的 - 只需使用datetime
模块:-)