将时间(自 YYYY 以来的天数给出)转换为可读的时间格式
Posted
技术标签:
【中文标题】将时间(自 YYYY 以来的天数给出)转换为可读的时间格式【英文标题】:Convert time (given in days since YYYY) into readable time format 【发布时间】:2020-09-10 14:37:54 【问题描述】:我需要帮助将时间转换为可读格式。我的time
数组(有 580 个元素)是自 1900 年 1 月 1 日以来的天数。如何将其转换为正常时间格式(即 mm-dd-yyyy)?
例如,输入时间是 43,887,在添加到 1900 年 1 月 1 日后输出应该是 02-27-2020。
谢谢!
【问题讨论】:
43887
不等于 02-27-2020
而是 1970-01-01
。
@CodePope err... 实际上 1900-01-01 + 43,887 天是 2020-02-28...
尝试使用 date.add() 将您的号码添加到 1900 年 1 月 1 日。您现在应该有一个日期时间,您可以使用 time.ctime() 创建一个字符串。
感谢您的更正 - 我解决了这个问题。
【参考方案1】:
datetime.datetime
和 timedelta
类在这里可以提供帮助。
from datetime import datetime, timedelta
def convert(inp, date1):
new_date = date1 + timedelta(inp)
return new_date.strftime("%m-%d-%Y")
date1 = datetime(1900, 1, 1)
print(convert(43887, date1))
【讨论】:
【参考方案2】:您可以使用 datetime.datetime 类来帮助您。如果这些值被视为整数天(您没有指定它们是什么),则以下方法有效。
from datetime import datetime
dt = datetime.fromordinal(43887)
dt.strftime('%d-%m-%Y')
【讨论】:
以上是关于将时间(自 YYYY 以来的天数给出)转换为可读的时间格式的主要内容,如果未能解决你的问题,请参考以下文章
将 dataFrame 转换为可读的,以便使用 plotly express 绘制条形图