小编给大家分享一下python3时间datetime怎样转换成数字,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!
如果你使用dir来查看datetime的方法,应该能观察到其包含有一个timestamp, timestamp是一个浮点型的小数,表示当前时间到utc时间1970.01.01凌晨相距的秒数。
和timestamp不同,python的time包中还有一个time对象,当我们调用time.time()会返回一个float形态的数值,其精度比timestamp更高(多一位)。如果是需要更高的精度,可以使用time.time_ns()获取纳秒级别的数值, 不过此时返回的是整数形态,精度比timestamp高三位!
# timestamp的底层实现 (dt - datetime(1970, 1, 1, tzinfo=timezone.utc)).total_seconds()
将时间转换成数字有几个优势,但是具体还要按需求来定,
更小的存储
方便的比较与计算(当然本身datetime对象也是支持的,但是某些需要引入timedelta对象)
格式相对统一(因为简单)
如果要使用timestamp完成时间的比较与加减,直接计算就好了。但是如果要使用timestamp就会稍微麻烦一些,datetime目前支持如下几种
datetime2 = datetime1 + timedelta datetime2 = datetime1 - timedelta timedelta = datetime1 - datetime2 datetime1 < datetime2 Compares datetime to datetime.
要注意的是
datetime和timedelta做加减后的对象依旧是datetime datetime对象之间可以直接比较 datetime和datetime相减,得到一个timedelta对象,同时小减大,将得到负数 datetime不可以和datetime相加
比如要计算当前时间的8小时后,就是
n = datetime.datetime.now() m = n + datetime.timedelta(hours=8) print(m, type(m)) print(m<n, n<m)
输出
2019-04-09 02:36:37.956798 <class 'datetime.datetime'> False True
以上是python3时间datetime怎样转换成数字的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。