Python中时间日期处理函数的应用
时间日期处理在Python编程中非常常见。Python内置了许多日期和时间处理函数以及模块,可以帮助我们快速处理各种时间日期格式。下面是常见的时间日期处理函数及其应用。
1. strftime() 函数
strftime() 函数主要是将时间格式化成字符串形式。最常见的是将时间格式化成指定格式的字符串,比如下面的例子将当前时间格式化成年份月份日的形式。
import datetime
now = datetime.datetime.now()
print(now.strftime("%Y-%m-%d")) # 输出当前年月日,例如:2021-07-22
2. strptime() 函数
strptime() 函数主要是将字符串转换成 datetime 对象。一般情况下,我们很少需要手动将字符串转换成时间对象,因为在处理时间时很多库都已经内置了时间格式化,比如在读取 CSV 文件时需要将时间列转换成时间对象。
import datetime date_str = "2021-07-22" date_obj = datetime.datetime.strptime(date_str, "%Y-%m-%d") print(date_obj) # 输出:2021-07-22 00:00:00
3. timedelta() 函数
timedelta() 函数主要是计算两个日期之间的时间差,以及向前或向后移动时间。比如下面的例子将当前时间往后移动一天,并将日期格式化成年月日的形式。
import datetime
now = datetime.datetime.now()
next_day = now + datetime.timedelta(days=1)
print(next_day.strftime("%Y-%m-%d")) # 输出当前日期往后推一天,例如:2021-07-23
4. time() 函数
time() 函数主要是获取当前时间的时间戳,以 Unix 时间戳为单位。
import time current_time = int(time.time()) print(current_time) # 输出当前时间的时间戳,单位为秒
5. sleep() 函数
sleep() 函数主要是延迟执行时间,例如下面的例子将等待 5 秒后再执行下一步操作。
import time
time.sleep(5) # 等待 5 秒
print("等待结束,开始下一步操作")
6. calendar 日历模块
calendar 模块主要用于处理日历相关操作,比如下面的例子输出当前年份的整年日历。
import calendar
calendar.setfirstweekday(calendar.SUNDAY)
current_year = 2021
for i in range(1, 13):
cal = calendar.monthcalendar(current_year, i)
print(calendar.month_name[i])
print(calendar.weekheader(2))
for week in cal:
print(week)
7. Pandas 库中的时间日期处理
Pandas 库也是非常常用的日期时间处理库,它提供了大量用于时间序列分析的函数,可以方便地处理各种时间日期格式。比如下面的例子创建一个时间序列,然后查询指定日期以前的数据。
import pandas as pd
date_rng = pd.date_range(start='1/1/2021', end='7/31/2021', freq='D')
df = pd.DataFrame(date_rng, columns=['date'])
df['data'] = np.random.randint(0,100,size=(len(date_rng)))
selected_date = pd.to_datetime("2021-07-01")
filtered_pd = df[df['date'] < selected_date]
总之,Python 中有各种各样的时间日期处理函数和库,可以根据不同的需求进行选择。熟练掌握这些函数和库,可以帮助我们更便捷地处理时间和日期相关的问题。
