一、datetime模块简介
在Python中,我们可以使用datetime模块来处理日期和时间相关的操作。datetime模块包含了2个常用的类:datetime和date。其中,datetime类是包含日期和时间的类,而date类只包含日期。
使用datetime模块,我们可以获取当前时间、将字符串转换为日期、将日期转换为字符串、计算两个日期之间的差等等。
二、日期转换为时间戳
Unix时间戳是从1970年1月1日 00:00:00开始计算至今的总秒数。在Python中,我们可以使用datetime模块中的strftime方法将日期转换为Unix时间戳。
import datetime
time_str = '2022-01-01 09:00:00'
time_format = '%Y-%m-%d %H:%M:%S'
time_stamp = int(datetime.datetime.strptime(time_str, time_format).timestamp())
上述代码中,我们将字符串型的时间time_str转换为日期类型,再使用timestamp方法将其转换为时间戳。最后,使用int将时间戳转换为整数型数据。
三、时间戳转换为日期
与日期转换为时间戳相反,我们可以使用datetime模块中的fromtimestamp方法将时间戳转换为日期对象。
import datetime
time_stamp = 1640990400
date_time = datetime.datetime.fromtimestamp(time_stamp)
time_str = date_time.strftime('%Y-%m-%d %H:%M:%S')
上面的代码中,我们使用fromtimestamp方法将时间戳转换为datetime类型。然后,使用strftime方法将其转换为字符串型数据,其中的'%Y-%m-%d %H:%M:%S'是转换后的日期格式。
四、日期加减
在Python中,我们可以很方便地对日期、时间进行加减运算。例如,我们想求出当前日期的前一天日期,可以使用datetime类中的timedelta方法。
import datetime
today = datetime.date.today()
yesterday = today - datetime.timedelta(days=1)
print(yesterday)
上述代码中,我们通过today方法获取当前日期,再使用timedelta方法减去1天,就求出了前一天的日期。其中days=1意味着减去1天。
五、日期字符串转日期类型
有时候,我们在读取一些数据文件时,日期可能是以字符串形式存储的,这时我们需要将其转换为日期类型进行后续处理。同样,使用datetime模块中的strptime方法可以很方便地实现。
import datetime
date_str = '2022-01-01'
date_time = datetime.datetime.strptime(date_str, '%Y-%m-%d').date()
print(date_time)
上述代码中,我们使用strptime方法将字符串型日期转换为日期类型,其中'%Y-%m-%d'是日期的格式,最后使用date方法将其转换为date类型。
六、小结
本文介绍了如何使用Python的datetime模块进行日期和时间方面的操作。包括日期转换成时间戳、时间戳转换成日期、日期加减、日期字符串转换为日期类型等方面。希望本文对大家在Python开发中进行常见时间相关的操作有所帮助。