微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

python – 将朱利安日转换为日期

我有几年的文件名为day00000.nc,day00001.nc,day00002.nc,… day00364.nc.
它们代表365或366天.
我想重命名我的文件,如day20070101.nc,day20070102.nc,… day20071231.nc
我怎样才能做到这一点 ?
谢谢

解决方法:

使用datetime模块从一年中的某一天获取日期.我假设你的例子中的年份是2007年,因为你的文件名似乎没有年份值.如果需要,可以随意使用变量替换代码中的硬编码2007.

import datetime
oldFilename = 'day00364.nc'
day = int(oldFilename[3:-3])
date = datetime.datetime(2007, 1, 1) + datetime.timedelta(day) #This assumes that the year is 2007
newFilename = 'day%s.nc'%date.strftime('%Y%m%d')
print newFilename # prints day20071231.nc

对于那些低估这个答案的人,因为“这个解决方增加了一天”

OP的文件编号为0到364,而不是1到365.此解决方案适用于OP.如果您的日期是1到365,并且对您来说并不是很明显,请在将其转换为timedelta值之前,自由地从日变量中减去“1”.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐