我有一个字符串,比如朱利安日期,比如"16152"
,意思是2016年的152天,或者"15234"
,意思是2015年的234天。
如何使用Python3标准库将这些儒略日期转换为类似20/05/2016
的格式?
我可以像这样得到2016年:date = 20 + julian[0:1]
,其中julian
是包含儒略日期的字符串,但是我如何根据1月份的1来计算其余的呢?
发布于 2016-06-10 17:15:20
首先,(从模块datetime
)创建一个datetime
对象
from datetime import datetime
from datetime import timedelta
julian = ... # Your julian datetime
date = datetime.strptime("1/1/" + jul[:2], "%m/%d/%y")
# Just initializing the start date, which will be January 1st in the year of the Julian date (2 first chars)
现在添加从开始日期开始的天数:
daysToAdd = int(julian[2:]) # Taking the days and converting to int
date += timedelta(days = daysToAdd - 1)
现在,您可以按原样打印它:
print(str(date))
也可以使用strftime()
函数。
print(date.strftime("%d/%m/%y"))
阅读有关strftime
格式字符串here的更多信息
发布于 2019-07-31 03:40:41
我使用它将Juian日期更改为xml xsd:datetime
def julianDate2ISO8601(d, offset='+00:00'):
"""
return ISO8601 formated datetime from julian date
optional offset [+|-]hh:mm
"""
d = str(d) # make sure it is a string
# replace leading number with correct century
centuryArray = ['19','20','21']
d = centuryArray[int(d[:1])] + d[1:]
# format string to iso 8601 datetime
return datetime.datetime.strptime(d, '%Y%j').date().strftime(
'%Y-%m-%dT00:00:00') + offset
https://stackoverflow.com/questions/37743940
复制相似问题