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)
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
首先,创建一个
datetime
对象(从模块datetime
)现在添加从开始日期开始的天数:
现在,您可以按原样打印:
或者可以使用
strftime()
函数。阅读有关
strftime
格式字符串here的更多信息^{} 方法支持每年的天格式:
然后可以使用^{} 重新格式化日期
我用这个将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
相关问题 更多 >
编程相关推荐