python中两个时间戳相减得到结果是不是秒数?

如题所述

是的。

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值。

参考资料:百度百科-时间戳

温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-03-25

标准的timestamp都是毫秒级的。不叫微秒。也就是0.001秒。

timestamp在python里处理办法就是转成long相减,这样不损失精度。 如果想得到秒就除以1000。


非标准的timestamp,这里就不说了。有人用分钟,有人用秒,还有人用浮点,还有人用UTC格式的时间,或者是字符串。五花八门。


还有人甚至把前面两个字符去掉。 所以如果timestamp是最近生成的,前面两个字符应该是14


比如象这样子1427244753991


如果timestamp想转变成时间,可以这样子

import time
print time.asctime(time.localtime(1427244753.991))


试一试就知道了。在python的控制台里很方便。

本回答被网友采纳
第2个回答  2015-03-24
如果你是使用time.time()获取的时间戳,结果是秒数。追问

直接从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.

本回答被提问者采纳
第3个回答  2015-03-24
大多数语言中的时间戳相减都是微秒数,也就是千分之一秒。
你的时间戳用的那个库中的time?datetime中的时间戳相减成了timedelta对象了。追问

直接从movielens数据集中获取的时间戳,然后转成float相减的。

追答

可以先用type()函数看一下时间戳的类型,python有操作符重载特性,所以不用转成基础数据类型,应该也可以相减。

第4个回答  推荐于2017-09-03

得到的是具体时间差;


参考以下的测试代码(在Python2.7.x下运行通过)

import datetime
d1 = datetime.datetime.now()
d2 = datetime.datetime.utcnow()
print d1
print d2
print d1 - d2

运行结果是:

2015-07-22 12:37:25.553000
2015-07-22 04:37:25.553000
8:00:00


python库 datetime 的使用可以参考官网文档;

https://docs.python.org/2/library/datetime.html

相似回答