[英]Convert integer date format to human readable format
我有一個日期時間格式,其中日期表示為1/1/1900的整數。 例如:1是1/1 / 1900,42998是20/9/2017。
如何將這種格式轉換為人類可讀的格式,例如dd / mm / yyyy? 我檢查了日期時間文檔,但找不到任何方法。 我想在python 3或2.7上執行此操作。
感謝您的任何建議。
您可以將日期定義為相對於基准時間的偏移量,並構造一個日期時間:
In[22]:
import datetime as dt
dt.datetime(1900,1,1) + dt.timedelta(42998)
Out[22]: datetime.datetime(2017, 9, 22, 0, 0)
一旦它是一個datetime
對象,您就可以通過strftime
使用所需的任何格式將其轉換為str
:
In[24]:
(dt.datetime(1900,1,1) + dt.timedelta(42998-1)).strftime('%d/%m/%Y')
Out[24]: '21/09/2017'
因此,您可以定義用戶函數來執行此操作:
In[27]:
def dtToStr(val):
base = dt.datetime(1900,1,1)
return (base + dt.timedelta(val-1)).strftime('%d/%m/%Y')
dtToStr(42998)
Out[27]: '21/09/2017'
import datetime
base_date = datetime.datetime(1900, 1, 1)
convert = lambda x: base_date + datetime.timedelta(days=x-1)
>>> convert(42998)
datetime.datetime(2017, 9, 21, 0, 0)
您可以使用datetime
對象來執行此操作。
import datetime
d = datetime.datetime(1900, 1, 1, 0, 0)
d + datetime.timedelta(days = 42998)
>> datetime.datetime(2017, 9, 22, 0, 0)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.