python - 将包含天数的日期字符串转换为浮点型日期时间对象

标签 python datetime

我在 Python 中有一个 float 组,如下所示:

[20010101.0, 20010101.25, 20010101.5, 20010101.75, 20020102.0, ...]

如何将其转换为正确考虑小数的 datetime 对象实例,这样我就不会丢失小时信息?

dat1 = dt.datetime.strptime(str(20010101.25), "%Y%m%d.%f")
print(dat1.date())
print(dat1.hour)

逻辑上给出:

2001-01-01
0

但我希望它能够给出:

2001-01-01
6

最佳答案

您可以先将小时转换为 strptime,如下所示:

from datetime import datetime

dates = [20010101.0, 20010101.25, 20010101.5, 20010101.75, 20020102.0]

for a_date in dates:
    date, hour = divmod(a_date, 1)
    print datetime.strptime('{} {}'.format(int(date), int(24.0 * hour)), "%Y%m%d %H")

给你:

2001-01-01 00:00:00
2001-01-01 06:00:00
2001-01-01 12:00:00
2001-01-01 18:00:00
2002-01-02 00:00:00

关于python - 将包含天数的日期字符串转换为浮点型日期时间对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35915133/

相关文章:

python - 如何在 Twisted 试用测试中访问源代码树?

javascript - HighCharts - 创建带有日期时间的散点图

sql - 将 rfc3339 字符串转换为带时区的时间戳

python - 在 Python 中创建连续年份月份的列表

java - 迭代开始日期和完成日期之间的所有周

python - 树莓派无法访问/dev/mem

python - Pandas Groupby/列表到多行

python - 按 REVERSE VALUE 然后按 NON-REVERSE KEY 对字典进行排序

python - 如何在 tensorflow 数据集的每次迭代中添加随机性?

python - 类型错误 : 'DatetimeIndex' object is not callable