簡體   English   中英

將整數日期格式轉換為人類可讀格式

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM