技术文章 > Python技术 > Python基础 > 正文

python3时间datetime如何转换成数字?

小妮浅浅

在计算的过程中,更加简便的运算往往是最受欢迎的。对于python3中的datetime来说,转换是为了让运算更加方便,同时电脑的内存也不会占用太多,说到这里很多小伙伴都会心动了,想要赶紧尝试下这种新的转换。下面小编就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


以上就是datetime转换成数字的方法啦,特别是结尾要注意的事项,小伙伴们可不要忘记了哦。更多Python学习推荐:PyThon学习网教学中心

免费视频教程
本文原创发布python学习网,转载请注明出处,感谢您的尊重!
相关文章
 python3时间中time是什么?怎么转换?
 python3时间中datetime有哪些转换方式?
 Python3时间戳如何在excel中运用?
相关视频章节
 网络爬虫
 云端部署Web应用程序视频
 Web应用框架Flask和文件模板
 Web应用程序开发概述
 继承和多态
作者信息

小妮浅浅

认证0级讲师

最近文章
推荐视频
视频教程分类