• Python:日期表达的转换(day of year & year month day)


    我们常用的日期格式是“年月日”型的,即year-month-day,比如今天是2019年9月14日,2019-09-14。

    然而,有些地方,比如遥感图像下载的命名里面,为了数据表示方便,常常是doy(day of year)型的,如图在地理空间数据云下载landsat8:

    '2019133'表示2019年的第133天,可正常人都不太可能一口说出来这是几月几号。

    尤其是遥感图像的批量下载后,没有那么多耐心来算这玩意儿。因此,建立了俩函数来转换。

    本篇运用的技术含量不高,但是实用。

    def date2doy(year,month,day):
                month_leapyear=[31,29,31,30,31,30,31,31,30,31,30,31]
                month_notleap= [31,28,31,30,31,30,31,31,30,31,30,31]
                doy=0
    
                if month==1:
                      pass
                elif year%4==0 and (year%100!=0 or year%400==0):
                      for i in range(month-1):
                              doy+=month_leapyear[i]
                else:
                      for i in range(month-1):
                              doy+=month_notleap[i]
                doy+=day
                return doy
    
    def doy2date(year,doy):    
           month_leapyear=[31,29,31,30,31,30,31,31,30,31,30,31]
           month_notleap= [31,28,31,30,31,30,31,31,30,31,30,31]
    
           if year%4==0 and (year%100!=0 or year%400==0):
              for i in range(0,12):
                 if doy>month_leapyear[i]:
                     doy-=month_leapyear[i]
                     continue
                 if doy<=month_leapyear[i]:
                     month=i+1
                     day=doy
                     break
           else:
              for i in range(0,12):
                 if doy>month_notleap[i]:
                     doy-=month_notleap[i]
                     continue
                 if doy<=month_notleap[i]:
                     month=i+1
                     day=doy
                     break
           return month,day
  • 相关阅读:
    Spring AOP功能
    EasyUI组件treegrid构建树形组织机构
    EasyUI树形表格显示Json数据
    Java 操作Redis
    Linux安装Redis、后台运行、系统自启动
    SpringBoot-Helloworld
    中小后台系统UI框架--EasyUI
    Spring注解--实现applicationContext.xml效果
    Mybatis XML映射文件
    python初学者必看学习路线图!!!
  • 原文地址:https://www.cnblogs.com/maoerbao/p/11518831.html
Copyright © 2020-2023  润新知