您的位置:

Python的日期转时间功能实现

一、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开发中进行常见时间相关的操作有所帮助。