Python中的日期转换器
def main():
print "Welcome To the Date Converter"
print "Please Enjoy Your Stay"
print
date_string = raw_input("Please enter a date in MM/DD/YYYY format: ")
date_list = date_string.split('/')
import datetime
d = datetime.date
d.strftime('%B %d, %Y')
main()
这是我目前的进展,我一直得到的输出是0,希望能得到一些帮助。我想让用户输入一个数字日期,然后程序把它转换成像2010年11月15日这样的日期。
2 个回答
2
dateutil这个库可以帮你处理日期,非常好用。
你需要先用pip安装dateutil,不过你会发现它里面有很多处理日期转换的代码,非常方便:
pip install python-dateutil
你可以这样使用它。
from dateutil import parser
ds = '2012-03-01T10:00:00Z' # or any date sting of differing formats.
date = parser.parse(ds)
ds = '12/23/2001' # or any date sting of differing formats.
date = parser.parse(ds)
你会发现这个解析器几乎可以处理任何日期字符串格式,并且最终会给你一个标准的Python日期。
4
import datetime def main(): print "Welcome To the Date Converter" print "Please Enjoy Your Stay" print date_string = raw_input("Please enter a date in MM/DD/YYYY format: ") d=datetime.datetime.strptime(date_string,'%m/%d/%Y') print(d.strftime('%B %d, %Y')) if __name__=='__main__': main()
如果你想用
date_string.split('/')
来分割date_string
,那么你需要把得到的字符串列表转换成整数列表。这是可以做到的,但会比必要的工作多。建议直接使用datetime.datetime.strptime
来处理。把所有的导入语句放在脚本的最上面,这样可以更容易理解这个脚本依赖了哪些东西。
一般来说,使用
if __name__=='__main__'
是个好习惯,这样你的脚本就可以被导入,而不会意外地运行里面的代码。这让你的脚本有双重用途——你可以从命令行运行它们,也可以导入它们来重用一些功能。你可能还想看看一个第三方模块 dateutil——它有一个模糊日期解析器,可以处理很多不同的日期格式。