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
Python:日期表达的转换(day of year & year month day)的更多相关文章
- python 日期、时间戳转换
获取当前日期: from datetime import datetime IN:datetime.now() OUT:datetime(2016,10,19,6,51,21,72341) 转化为字符 ...
- Shell Python 日期和时间戳的互相转换
一.初衷: 很多时候,时间的存储都是时间戳格式,如果需要展示就要转化成标准格式日期.也许会需要date和timestamp互转. 二.方法: 1.Shell下对date和timestamp的互转,是通 ...
- Python 日期和时间戳的转换
Python 日期和时间戳的转换 1. Python中处理时间的模块 Python中处理时间的模块有time.datetime和calendar. 在Python中表示时间的方式: 时间戳:10位整数 ...
- Python 日期和时间(转)
Python 日期和时间 Python程序能用很多方式处理日期和时间.转换日期格式是一个常见的例行琐事.Python有一个 time 和 calendar 模组可以帮忙. 什么是Tick? 时间间隔是 ...
- (转)Python 日期和时间
转自http://www.runoob.com/python/python-date-time.html Python 日期和时间 Python 程序能用很多方式处理日期和时间,转换日期格式是一个常见 ...
- Python 日期时间处理模块学习笔记
来自:标点符的<Python 日期时间处理模块学习笔记> Python的时间处理模块在日常的使用中用的不是非常的多,但是使用的时候基本上都是要查资料,还是有些麻烦的,梳理下,便于以后方便的 ...
- python 日期相关
基本的日期与时间转换 问题 你需要执行简单的时间转换,比如天到秒,小时到分钟等的转换. 解决方案 为了执行不同时间单位的转换和计算,请使用 datetime 模块. 比如,为了表示一个时间段,可以创建 ...
- Python 日期和时间_python 当前日期时间_python日期格式化
Python 日期和时间_python 当前日期时间_python日期格式化 Python程序能用很多方式处理日期和时间,转换日期格式是一个常见的功能. Python 提供了一个 time 和 cal ...
- MySQL 日期、时间转换函数
MySQL 日期.时间转换函数:date_format(date,format), time_format(time,format) 能够把一个日期/时间转换成各种各样的字符串格式.它是 str_to ...
随机推荐
- Java基础之Volatile原理
原文链接: http://www.aoaoyi.com/archives/956.html 计算机在执行程序时,每条指令都是在CPU中执行的,而执行指令过程中,势必涉及到数据 的读取和写入.由于程序运 ...
- qs.js使用方法
https://github.com/ljharb/qs 占个空
- Hadoop+HBase分布式部署
test 版本选择
- RSA加密 抛异常 algid parse error, not a sequence
JDK1.8环境 参考:BouncyCastle的使用:https://blog.csdn.net/qq_29583513/article/details/78866461 可解决 公钥解密 私钥加密 ...
- Python常用方法库备忘(一)_当前路径下文件夹和文件
#!/usr/bin/env python # -*- coding:utf-8 -*- # --------------*-------------- # @Author : AilF # @Tim ...
- MyBatis一级缓存的笔记及记录
精髓内容来源于<图灵学院> 一.概述: 一级缓存是MyBatis天然自带的,是默认开启且没有关闭的地方,1级缓存只能作用于查询回话中,所以也叫会话缓存: 这里举个例子: 订单表存在一对多的 ...
- Makefile中include、-include、sinclude
include.-include.sinclude使用 在 Makefile 使用 include 关键字可以把别的 Makefile 包含进来,这很像 C 语言的#include,被包含的文件会原模 ...
- mysql 表相关操作(1)
查询语句 select * from t_deptselect empno,ename,sal from t_emp select empno, sal * 12 as "inco ...
- BZOJ 3189. [Coci2011]Slika
传送门 有回档操作,考虑离线,这样就知道最终的操作序列了 发现前面的操作会被后面覆盖,干脆直接从后往前操作,如果一个位置以前染色过了那就不用再染色 所以我们可以用 $n$ 个链表维护 $n$ 个行,操 ...
- jumpserver-1.4.8安装步骤
1. 组件说明 Jumpserver 为管理后台, 管理员可以通过 Web 页面进行资产管理.用户管理.资产授权等操作, 用户可以通过 Web 页面进行资产登录, 文件管理等操作 koko 为 SSH ...