【问题标题】:calculate month out of number of days in year [duplicate]根据一年中的天数计算月份[重复]
【发布时间】:2012-10-27 01:12:17
【问题描述】:

可能重复:
Python Question: Year and Day of Year to date?

在 Python 中是否有一种方法可以确定一年中的某一天在哪个月份,例如今天是第 299 天(10 月 26 日)。我想弄清楚,那一天 299 是在第 10 个月(编译字符串以设置 Linux 系统时间)。 我该怎么做?

【问题讨论】:

  • 另外,10 月 26 日是今年的第 300 天,而不是第 299 天。闰年,你知道的。

标签: python


【解决方案1】:
print (datetime.datetime(2012,1,1) + datetime.timedelta(days=299)).month

这里有一个更实用的版本,可以同时返回月份和日期:

def get_month_day(year, day, one_based=False):
    if one_based:  # if Jan 1st is 1 instead of 0
        day -= 1
    dt = datetime.datetime(year, 1, 1) + datetime.timedelta(days=day)
    return dt.month, dt.day

>>> get_month_day(2012, 299)
(10, 26)

【讨论】:

  • 谢谢马克,另外,我怎样才能知道它实际上是一个月中的哪一天?
  • 知道了:打印 (datetime.datetime(2012,1,1) + datetime.timedelta(days=299)).day
【解决方案2】:

我不知道这样的方法,但你可以这样做:

print datetime.datetime.strptime('2012 299', '%Y %j').month

上面打印10

【讨论】:

    猜你喜欢
    • 2012-06-06
    • 2011-06-20
    • 2022-11-29
    • 1970-01-01
    • 1970-01-01
    • 2015-06-20
    • 1970-01-01
    • 1970-01-01
    • 2021-01-11
    相关资源
    最近更新 更多