【问题标题】:How do I convert the current date to a six digit Julian date using Python?如何使用 Python 将当前日期转换为六位儒略日期?
【发布时间】:2020-11-06 15:20:55
【问题描述】:

我想弄清楚如何将当前日期转换为儒略日期的 6 位格式。因此,例如,2020-11-06 需要是 120311。我不知道如何获得世纪数字和前一年数字。这是我到目前为止打印出日期的代码:

def datetojulian(calendarDate):
    fmt='%Y-%m-%d'
    sdtdate = datetime.datetime.strptime(calendarDate, fmt)
    sdtdate = sdtdate.timetuple()
    jdate = sdtdate.tm_yday
    return jdate

【问题讨论】:

  • @sophros 不幸的是没有。因此,对于 2020-11-06,儒略日期为 120311,对于 2021-11-06,儒略日期为 121311。我需要世纪数,然后是两位数年份,然后是日期。
  • 把系统日期转换为儒略历不是问题的关键吗?以您在 sn-p 中所做的方式对其进行格式化应该足以使其正确格式化。
  • 我的 sn-p 中的代码只给了我日期编号,它没有在日期编号前面提供年份或世纪编号。我的代码只为 2020-11-06 提供 311。我需要 2020-11-06 的 120311。
  • @LibertMan:你能把你给出的例子分解成组成部分吗?还有,世纪数不应该大一点吗?

标签: python-3.x date julian-date


【解决方案1】:

如果有任何问题请通知我

from datetime import datetime as dt
from datetime import date
now = dt.now()
yy = int(input("year : "))
mm =int(input("month : "))
_date = int(input("day : "))
julian_date = []
def convert(yy,mm,_date):
        i = str(yy)[0]+str(yy)[1]
        print(i)
        z = str(yy)[2]+str(yy)[3]
        julian_date.append(int(i)-19)
        julian_date.append(int(z))
        days = date(yy,mm,_date)-date(yy,1,1)
        julian_date.append(int(days.days))
convert(yy,mm,_date)
for i in range(len(julian_date)):
    print(julian_date[i],end="")

【讨论】:

    猜你喜欢
    • 2021-12-23
    • 1970-01-01
    • 2016-10-11
    • 2020-01-11
    • 2013-07-21
    • 2015-11-08
    • 1970-01-01
    • 2011-03-02
    • 1970-01-01
    相关资源
    最近更新 更多