Python时间模块将不会在1900年之前处理
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Python时间模块将不会在1900年之前处理,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1196字,纯文字阅读大概需要2分钟。
内容图文
![Python时间模块将不会在1900年之前处理](/upload/InfoBanner/zyjiaocheng/742/c90e07be2ca443059c13f37b319453d9.jpg)
我想从文本文件中转换出生日期.比方说,我有数据
fjsffk 1985-01-30
fkgskgks 1899-02-20
我尝试使用以下代码,仍然收到错误:
import datetime
months = ['January', 'February', 'March', 'April', 'May', 'June', 'July',
'August', 'September', 'October', 'November', 'December']
with open('file.txt', 'r') as f:
for line in f.readlines():
dob = line.rsplit(None, 1)[-1]
dt = datetime.strptime(dob, "%Y-%m-%d")
print "{0:} {1:}, {2:}".format(months[dt.month-1], dt.day, dt.year)
请解决任何问题,谢谢!
解决方法:
根据python tutorial
The exact range of years for which
strftime() works also varies across
platforms. Regardless of platform,
years before 1900 cannot be used.
请耐心等待 – 我尝试了以下解决方案,它适用于我:
from datetime import datetime
mDt = datetime(1900,01,01)
dt = datetime.strptime('20-02-1899', "%d-%m-%Y")
resultString = datetime(dt.year + (mDt - dt).days/365 + 1, dt.month, dt.day).strftime('%B %d, %Y').replace('1900', str(dt.year))
或类似的东西:
monthes = ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December']
dt = datetime.strptime('20-02-1890', "%d-%m-%Y")
print "{0:} {1:}, {2:}".format(monthes[dt.month-1], dt.day, dt.year)
内容总结
以上是互联网集市为您收集整理的Python时间模块将不会在1900年之前处理全部内容,希望文章能够帮你解决Python时间模块将不会在1900年之前处理所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。