将儒略日转换为日期

2023-12-08

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


Use the 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,并且它对您来说一点也不明显,请随意从日期变量中减去“1”,然后再将其转换为 timedelta 值。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将儒略日转换为日期 的相关文章