繁体   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