2015-10-15 4 views
0

У меня есть этот список целых чисел и его необходимо преобразовать на сегодняшний день, используя python.Python convert integer to date

  • 42222 должен быть 8/6/2015
  • 42290 должен быть 10/13/2015
  • 42319 должен быть 11/11/2015

Я получаю равную дату целого когда i paste in to excel then format the cell to Date.

+0

что 42222 ??? это адрес ячейки? – orvi

+1

Как выглядит '42222'' 8/6/2015'? –

+0

, почему downvotes, теперь я не могу задать другой вопрос .. @JF Sebastian – Kyrie

ответ

2

даты Excel начинают отсчет около года 1900. Это будет сделать это:

from datetime import datetime, timedelta 

def xldate_to_datetime(xldate): 
    tempDate = datetime(1900, 1, 1) 
    deltaDays =timedelta(days=int(xldate)-2) 
    TheTime = (tempDate + deltaDays) 
    return TheTime.strftime("%m/%d/%Y") 

>>> xldate_to_datetime(42290) 
'10/13/2015' 
+0

Спасибо, что это меня спасает :) – Kyrie

+0

Happy to help :) – rofls

+1

@Kyrie: этот ответ неверен, если 'xldate' меньше 60. См. Ответ в связанный вопрос. – jfs