Python问题:迄今为止的年份和年份?

Min*_*ino 47 python date julian-date

我有一年的价值和一年中的一天,并希望转换为日期(日/月/年).

提前致谢.:)

Ign*_*ams 71

datetime.datetime(year, 1, 1) + datetime.timedelta(days - 1)
Run Code Online (Sandbox Code Playgroud)

  • 这比SilentGhost的答案更简单吗? (2认同)
  • @GreenMatt:它不涉及将数字放入字符串然后解析该字符串. (2认同)
  • 这真的是为了美浓; 我想我应该在评论中加上"@Mino",对不起.确实,这种方法不需要将数字转换为字符串; 但是,根据我的经验,你至少同样可能从字符串开始.更重要的是,两次调用和一次arithematic操作比一次调用IMO更复杂.(当然,通话次数取决于所需的任何转换.) (2认同)

Sil*_*ost 22

>>> import datetime
>>> datetime.datetime.strptime('2010 120', '%Y %j')
datetime.datetime(2010, 4, 30, 0, 0)
>>> _.strftime('%d/%m/%Y')
'30/04/2010'
Run Code Online (Sandbox Code Playgroud)


sth*_*sth 7

toordinal()fromordinal()该功能date类可用于:

from datetime import date
date.fromordinal(date(year, 1, 1).toordinal() + days - 1)
Run Code Online (Sandbox Code Playgroud)


MrF*_*pes 6

因为现在它很常见,一个pandas选项,使用pd.to_datetime指定的单位和原点:

import pandas as pd

day, year = 21, 2021

print(pd.to_datetime(day-1, unit='D', origin=str(year)))
# 2021-01-21 00:00:00
Run Code Online (Sandbox Code Playgroud)