但今天发现了一个奇特的问题,同样是时间戳怎么我的长度和网上不太一样呢?
我用下面这种方法获取时间戳:
import time
ts = int(time.time())
print(ts)
1598634465
得到的结果是一个10位的整数int,但当我给服务器发请求的时候,URL里面却填的是13位数,我就震惊了。
Solution:
注意10位的时间戳已经能够精确到秒单位,所以我们的应用不需要毫秒级别的精确度时,只需要添上3个0就可以了
import time
ts = int(time.time()) * 1000
print(ts)
1598634465000
但是当我们需要真的精确到毫秒级别,那也很简单:
import time
ts = int(round(time.time(),3) * 1000)
print(ts)
1598634414932
小结:
如果仅在单个程序内部使用,这可能不是一个问题,但当需要和上下游系统交互时,需要先检查上下游系统采用的是什么样的时间戳,可能下游是一个http请求,如果服务器没有对此做特别处理,很容易导致请求失败。如果是向数据库插入一组数据,数据库被错误的格式污染,就会导致很多麻烦。
日常填坑思路,你学废了吗?