我有几年的文件名为day00000.nc,day00001.nc,day00002.nc,... day00364.nc。 他们代表365或366天。 我想重命名我的文件,像这样day20070101.nc,day20070102.nc,... day20071231.nc 我该怎么做? 谢谢将朱利安日转换为日期
2
A
回答
2
datetime
在朱利安转换器构建在它的使用%j
格式说明strptime
功能。假设你的文件'day'
两位数年份+朱利安+ extention(如果没有,只是添加任何一年抵消你真的有)
file_date = filename[3:-3]
file_date = datetime.datetime.strptime(file_date, '%y%j').strftime('%Y%m%d')
new_filename = file_date.strftime('day%Y%m%d.nc')
了解如何拿到年终
year = datetime.datetime.fromtimestamp(os.path.getctime(filename)).year
file_date = datetime.datetime.strptime(filename[5:-3], '%j').replace(year=year)
new_filename = file_date.strftime('day%Y%m%d.nc')
14
使用后评论模块从一年中的某天获取日期。由于您的文件名似乎没有年份值,因此我假设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谁是downvoting这个答案,而不是1到365这个解决方案适用于在OP。如果您的日期从1到365,并且对您而言并不明显,请在将日期转换为timedelta值之前自由减去“1”。
1
随着GNU AWK和任何类似Bourne壳
for old in *
do
new=$(gawk -v old="$old" 'BEGIN{
secs = (gensub(/[^[:digit:]]/,"","g",old) + 1) * 24 * 60 * 60
print gensub(/[[:digit:]]+/,strftime("%Y%m%d",secs),"",old)
}')
echo mv "$old" "$new"
done
测试之后删除 “回声”。
相关问题
- 1. 朱利安日期转换
- 2. 将朱利安日期转换为正式日历日期
- 3. 将日期转换为朱利安日期
- 4. 转换阳历日期到朱利安
- 5. 转换朱利安日期为公历日期
- 6. R转换朱利安日期为公历日
- 7. Python - 将朱利安日期转换为月
- 8. 将朱利安格式'yyyyddd'转换为日期
- 9. 将日期转换为朱利安日期的批处理脚本
- 10. 将朱利安日转换为R /日/月/年
- 11. 如何朱利安转换为日期在Java中的 “yyDHH”
- 12. 如何将日期从dd更改为ddd为朱利安日?
- 13. python udf从朱连安日计算朱利安日期
- 14. 在python中计算朱利安日期
- 15. 如何将朱利安的日日和年转换为日期格式并计算R的使用时间
- 16. 德尔福朱利安日期至正常日期
- 17. 如何在R中将月份日期转换为序号日期/朱连安日?今年
- 18. 将日期转换为MongoDB ISO日期
- 19. 将日期转换为日期串行
- 20. 将MySQL日期转换为Java日期
- 21. 将linq日期转换为短日期
- 22. 将UTC日期秒转换为日期
- 23. PHP - 将日期转换为UTC日期
- 24. 将SQL日期转换为SAS日期
- 25. 将日期数转换为日期
- 26. 将日期转换为varchar,然后将其转换回日期
- 27. 如何在iphone中打印NSDate作为朱利安日历格式化日期?
- 28. 在长文本中显示正常日期的朱利安日期
- 29. 朱利安日期和时间到正规的日期和时间
- 30. 将DAAppearanceTime转换为日期
你试过了什么? – Dhara
您的年份代表哪里? – Ander2
他们都在同一年吗?什么是开始日期点? – Franko