Python float转换为日期
- 编程知识
- 2023-06-11
- 3
本文将从以下几个方面详细介绍如何将Python float类型转换为日期:
一、float转datetime
import datetime
timeStamp = 1545925769.963961
dateArray = datetime.datetime.utcfromtimestamp(timeStamp)
print(dateArray)
在上面的代码中,我们首先导入datetime模块,然后定义了一个时间戳timeStamp。接下来,我们使用datetime.datetime.utcfromtimestamp将时间戳转换为datetime类型,并将其存储在dateArray变量中。最后使用print()方法输出dateArray的值。
这个代码的输出结果为:
2018-12-27 02:02:49.963961
我们可以看到,将float类型转换为datetime类型很容易,只需要使用datetime.datetime.utcfromtimestamp()方法即可。
二、float转字符串格式日期
import time
timeStamp = 1545925769.963961
dateArray = time.localtime(timeStamp)
strDate = time.strftime("%Y-%m-%d %H:%M:%S", dateArray)
print(strDate)
在上面的代码中,我们首先导入了time模块,然后定义了一个时间戳timeStamp。接下来,我们使用time.localtime()方法将时间戳转换为日期元组类型,并将其存储在dateArray变量中。然后,我们使用time.strftime()方法将dateArray转换为字符串格式日期,并将其存储在strDate变量中。最后使用print()方法输出strDate的值。
这个代码的输出结果为:
2018-12-27 10:02:49
我们可以看到,将float类型转换为字符串格式日期也很容易,只需要使用time模块的localtime()和strftime()方法即可。
三、float转Unix时间戳
import datetime
datetime_obj = datetime.datetime.now()
epoch = datetime.datetime.utcfromtimestamp(0)
total_seconds = (datetime_obj - epoch).total_seconds()
print(total_seconds)
在上面的代码中,我们首先使用datetime模块获取当前日期时间,若在Python3直接使用datetime.now()即可,而在Python2.x中有的解析器没有datetime.now() 的方法,需要先将其强制转化为datetime.datetime类型,如:datetime.datetime.now(),然后定义epoch为时间戳0时刻的datetime类型。接下来,我们使用datetime.timedelta()方法计算当前日期与时间戳0时刻的时间差,并将其转换为秒数存储在total_seconds变量中。最后使用print()方法输出total_seconds的值。
这个代码的输出结果为:
1559671329.852059
我们可以看到,将float类型转换为Unix时间戳也很容易,只需要使用datetime模块的timedelta()方法即可。
四、时间戳进行格式转换
import datetime
timestamp = 1559671329.852059
local_dt = datetime.datetime.fromtimestamp(timestamp).strftime('%Y-%m-%d %H:%M:%S')
print(local_dt)
在这个代码中,我们定义了一个时间戳,并使用datetime.datetime.fromtimestamp()方法将其转换为当地标准时间。接下来,我们使用strftime()方法将local_dt格式化为'%Y-%m-%d %H:%M:%S'形式的字符串,并输出结果。
这个代码的输出结果为:
2019-06-05 20:15:29
我们可以看到,使用strftime()方法可以将日期时间格式化为我们需要的形式。