python – 从字符串日期中提取一年中的一天和Julian日
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了python – 从字符串日期中提取一年中的一天和Julian日,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1565字,纯文字阅读大概需要3分钟。
内容图文
![python – 从字符串日期中提取一年中的一天和Julian日](/upload/InfoBanner/zyjiaocheng/714/2a0026b0e8c14446a2b6cbb474bb3fca.jpg)
我在python中有一个字符串“2012.11.07”.我需要将它转换为日期对象,然后获得一年中的日期和Julian日的整数值.可能吗?
解决方法:
首先,您可以将其转换为datetime.datetime对象,如下所示:
>>> import datetime
>>> fmt = '%Y.%m.%d'
>>> s = '2012.11.07'
>>> dt = datetime.datetime.strptime(s, fmt)
>>> dt
datetime.datetime(2012, 11, 7, 0, 0)
然后你可以使用datetime上的方法来获得你想要的东西…除了datetime没有你想要的功能,所以你需要转换为time tuple
>>> tt = dt.timetuple()
>>> tt.tm_yday
312
术语“朱利安日”有几个不同的含义.如果您正在寻找2012312,则必须间接执行此操作,例如,以下之一.
>>> int('%d%03d' % (tt.tm_year, tt.tm_yday))
2012312
>>> tt.tm_year * 1000 + tt.tm_yday
2012312
如果你正在寻找不同的含义,你应该能够从这里找到它.例如,如果你想要“自公元前4713年1月1日以来的日子”的含义,并且你有一个公式需要格里高利年和年,那么你已经将这两个值插入上面.(如果你有一个公式,需要格里高利年,月,日,你甚至不需要时间步骤.)如果你无法找到去哪里,请询问更多细节.
如果你没有公式 – 也许即使你已经做过 – 你最好的选择可能是围绕PyPI和ActiveState寻找预先存在的模块.例如,快速搜索出现了一个名为jdcal的东西.我以前从未见过它,但是快速点一下安装jdcal并简要介绍了自述文件,我能够做到这一点:
>>> sum(jdcal.gcal2jd(dt.year, dt.month, dt.day))
2456238.5
这与USN Julian date converter给我的结果相同.
如果你想要积分朱利安日,而不是分数朱利安日期,你必须决定你想要向哪个方向转向0,向负无穷大,向中午舍入到第二天,向中午舍入到偶数天等等.(注意,朱利安日期定义为从4713年1月1日中午开始,因此2012年11月7日的一半是2456238,另一半是2456239,只有你知道你想要哪一个…)例如,向0舍入:
>>> int(sum(jdcal.gcal2jd(dt.year, dt.month, dt.day)))
2456238
内容总结
以上是互联网集市为您收集整理的python – 从字符串日期中提取一年中的一天和Julian日全部内容,希望文章能够帮你解决python – 从字符串日期中提取一年中的一天和Julian日所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。