如何将一年中某一天的十进制表示转换为包含所有部分的时间戳,包括完整日期和时间?
例如,我的第一个小数是22.968530853511766
,我希望它以一种漂亮的时间戳格式。
答案 0 :(得分:10)
使用timedelta()
object将您的值作为days
参数;将它添加到上一年的12月31日午夜:
from datetime import datetime, timedelta
epoch = datetime(datetime.now().year - 1, 12, 31)
result = epoch + timedelta(days=your_decimal)
演示:
>>> from datetime import datetime, timedelta
>>> epoch = datetime(datetime.now().year - 1, 12, 31)
>>> epoch + timedelta(days=22.968530853511766)
datetime.datetime(2015, 1, 22, 23, 14, 41, 65743)
>>> print(epoch + timedelta(days=22.968530853511766))
2015-01-22 23:14:41.065743
datetime
对象可以使用datetime.strftime()
method以任意多种方式格式化;我依赖于演示中str()
调用的默认print()
转换。