我从其他人那里得到的回应是纪元时间格式,如
start_time = 1234566
end_time = 1234578
我想把历元秒转换成MySQL格式的时间,这样我就可以在MySQL数据库中存储差异。
我试过:
>>> import time
>>> time.gmtime(123456)
time.struct_time(tm_year=1970, tm_mon=1, tm_mday=2, tm_hour=10, tm_min=17, tm_sec=36, tm_wday=4, tm_yday=2, tm_isdst=0)
以上结果不是我所期待的,我希望它是这样的
2012-09-12 21:00:00
请建议我如何实现这一目标?
还有,为什么我得到TypeError: a float is required
>>> getbbb_class.end_time = 1347516459425
>>> mend = time.gmtime(getbbb_class.end_time).tm_hour
Traceback (most recent call last):
...
TypeError: a float is required
9条答案
按热度按时间ztmd8pv51#
要将时间值(float或int)转换为格式化字符串,请用途:
在此导入之前:
whlutmcx2#
您也可以使用
datetime
:dpiehjr43#
要获取UTC:
trnvg8h34#
这是你需要的
请输入
float
而不是int
,其他TypeError
应消失。r7knjye25#
试试这个:
同样在MySQL中,您可以
FROM_UNIXTIME
如下:对于你的第二个问题,可能是因为
getbbb_class.end_time
是一个字符串,你可以把它转换成数字,比如:float(getbbb_class.end_time)
rqqzpn5f6#
如果你有一个以毫秒为单位的历元,一个可能的解决方案是转换成秒:
有关更多
time
函数:https://docs.python.org/3/library/time.html#functionsmrzz3bfm7#
这有点罗嗦,但它来自unix中的date命令。
e4yzc0pl8#
man gmtime的第一个信息
来理解纪元应该是怎样的。
只要确保传递给
time.gmtime()
的参数是整数即可。qlckcl4x9#
分享一个答案来清楚地区分UTC和本地时间转换。在使用下面的方法之前,在顶部使用
import datetime
。转换为本地计算机时区的日期时间
转换为UTC时区的日期时间
对于上述两种方法,如果希望返回格式化的日期字符串,请使用以下代码块