Python中的日期/时间处理

in #cn5 years ago

在写代码的时候有很多场合需要处理日期和时间,比如:在日志中需要记录当前时间,在处理订单的时候需要处理用户下单的时间,在Hive上的各种点赞机器人需要知道新帖子的创建时间,以及帖子的“年龄“。。。在Python中提供了非常强大的日期/时间处理模块:time和datetime,这些模块中又有很多有用的函数。下面把我经常使用的函数做一总结,欢迎大家指正。

time模块

time模块提供了和时间相关的一些类及函数。

时间偏移量表示法

在Python交互式窗口中输入time.time(),其输出为一个数字:

image

这个数字代表了从1970年1月1日00:00:00至今的秒偏移量。

将其转换为字符串格式:

image

元组表示法

还有一种时间的表示法:使用包含9个整数的元组分别表示年,月,日,时,分,秒等:

image

可以把这个元组转换为第一种表示法:

image

格式化字符串表示法

这个时间还可以表示为我们熟悉的格式:

image

时间的加减法

比如,计算一个小时之后的时间:

image

datetime模块

从 datetime 模块中,依次导入date,datetime,timedelta。

from datetime import date, datetime, timedelta

获取日期

获取当前日期:

image

日期时间和字符串转换

将日期转换为字符串;

image

将日期时间字符串转换为日期时间(datetime)类型:

image

计算时间差

image

获取明天和昨天的时间:

image

得到Hive文章的发布时间后,计算从文章发布时间到现在时间的秒数:

image