欢迎访问宙启技术站
智能推送

Python中时间日期处理函数的应用

发布时间:2023-06-15 15:19:49

时间日期处理在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 中有各种各样的时间日期处理函数和库,可以根据不同的需求进行选择。熟练掌握这些函数和库,可以帮助我们更便捷地处理时间和日期相关的问题。