是的。
python中的时间戳相减是微秒数,也就是千分之一秒。
时间戳字段在MySQL中经常使用到,比如需要记录一行数据创建的时间或修改的时间时,我们通常会使用时间戳即timestamp字段。
timestamp字段类型可存储时间类型数据,timestamp所能存储的时间范围为:'1970-01-0100:00:01.000000'到'2038-01-1903:14:07.999999'。
timestamp字段占用4个字节。在MySQL5.7版本,timestamp可以指定精度,即TIMESTAMP(fsp)中fsp可以指定一个介于0到6之间的可选值,以代表小数秒精度。值为0表示没有小数部分,如果省略,则默认精度为0。
扩展资料:
影响时间戳显示的参数主要有两个,分别是explicitdefaultsfortimestamp,timezone。
explicitdefaultsfor_timestamp参数决定MySQL服务端对timestamp列中的默认值和`NULL`值的不同处理方法。此变量自MySQL5.6.6版本引入,分为全局级别和会话级别,可动态更新,默认值为OFF。
在默认情况下,如果timestamp列没有显式的指明null属性,那么该列会被自动加上not null属性(而其他类型的列如果没有被显式的指定not null,那么是允许null值的)。
如果往这个列中插入null值,会自动的设置该列的值为current timestamp值。
参考资料:百度百科-时间戳
标准的timestamp都是毫秒级的。不叫微秒。也就是0.001秒。
timestamp在python里处理办法就是转成long相减,这样不损失精度。 如果想得到秒就除以1000。
非标准的timestamp,这里就不说了。有人用分钟,有人用秒,还有人用浮点,还有人用UTC格式的时间,或者是字符串。五花八门。
还有人甚至把前面两个字符去掉。 所以如果timestamp是最近生成的,前面两个字符应该是14
比如象这样子1427244753991
如果timestamp想转变成时间,可以这样子
import time试一试就知道了。在python的控制台里很方便。
本回答被网友采纳直接从movielens数据集中获取的时间戳,然后转成float相减的。不太清楚
追答贴个时间戳上来才能确认
追问879794870.0
追答贴一下减之前的那个两个值,如果是1427268874这种格式应该就是秒数了。
追问879796331
追答通过这个值看不是什么格式,不过我查了下movielens的文档,写的时间戳单位的确是秒。
http://files.grouplens.org/datasets/movielens/ml-10m-README.html
Timestamps represent
seconds since midnight Coordinated Universal Time (UTC) of January 1, 1970.
直接从movielens数据集中获取的时间戳,然后转成float相减的。
追答可以先用type()函数看一下时间戳的类型,python有操作符重载特性,所以不用转成基础数据类型,应该也可以相减。
得到的是具体时间差;
参考以下的测试代码(在Python2.7.x下运行通过)
import datetime运行结果是:
2015-07-22 12:37:25.553000
2015-07-22 04:37:25.553000
8:00:00
python库 datetime 的使用可以参考官网文档;