从一年中的某一天开始获取月份和某一天



我有这些数据。一年中的某一天,这是一个闰年

需要打印";月、日;根据给定的数据。

year= 2020
day_oy= 357

我试过了,

if day_ in range(1,32):
new_month= "January"
elif day_ in range(32, 61):
new_month= "February"
...
else:
new_month= "December"

它需要很多行。我需要用最小的线条来做。

import datetime
day_of_the_year = 357
year = 2020
datetime_object = datetime.datetime(year, 1, 1) + datetime.timedelta(day_of_the_year - 1)
# get month and day of the month
month = datetime_object.month
day_of_the_month = datetime_object.day
print(f"{day_of_the_month}/{month}")

输出:

22/12

一旦获得datetime object,就可以获得任何格式的日期详细信息。

有关更多详细信息,请参阅以下文档。

https://docs.python.org/3/library/datetime.html

基于此问答;A你可能想要:

from datetime import datetime, timedelta
year = 2020
day_oy = 357
date = datetime(year=year, month=1, day=1)
date_oy = date + timedelta(days=day_oy - 1)
new_month = date_oy.strftime('%B')  # December

最新更新