将 6 位儒略日期转换为标准日期
Converting 6-digit Julian date to std date
我有来自 DB table 的 6 位 Julian 日期,我正在尝试将它们转换为标准日期。由于格式不正确,我收到错误消息。 fmt = '%y%m%j'
这是我写的函数:
import datetime
def jdtodatestd (jdate):
fmt = '%y%m%j'
datestd = datetime.datetime.strptime(jdate, fmt).date()
return(datestd)
x = jdtodatestd('122105')
print(x)
在上述儒略日期“122105”中:
1是世纪码
22 是年份
105 是一年中的第 105 天。
我得到的结果是 2012-04-14
,但预期结果是 2022-04-15
。
将 jdate = str(19 + int(jdate[0])) + jdate[1:]
插入您的 Python 函数并将格式更改为 %Y%j
import datetime
def jdtodatestd (jdate):
jdate = str(19 + int(jdate[0])) + jdate[1:]
fmt = '%Y%j'
datestd = datetime.datetime.strptime(jdate, fmt).date()
return(datestd)
x = jdtodatestd('122105')
print(x)
# 2022-04-15
我有来自 DB table 的 6 位 Julian 日期,我正在尝试将它们转换为标准日期。由于格式不正确,我收到错误消息。 fmt = '%y%m%j'
这是我写的函数:
import datetime
def jdtodatestd (jdate):
fmt = '%y%m%j'
datestd = datetime.datetime.strptime(jdate, fmt).date()
return(datestd)
x = jdtodatestd('122105')
print(x)
在上述儒略日期“122105”中:
1是世纪码
22 是年份
105 是一年中的第 105 天。
我得到的结果是 2012-04-14
,但预期结果是 2022-04-15
。
将 jdate = str(19 + int(jdate[0])) + jdate[1:]
插入您的 Python 函数并将格式更改为 %Y%j
import datetime
def jdtodatestd (jdate):
jdate = str(19 + int(jdate[0])) + jdate[1:]
fmt = '%Y%j'
datestd = datetime.datetime.strptime(jdate, fmt).date()
return(datestd)
x = jdtodatestd('122105')
print(x)
# 2022-04-15