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

日期和时间处理函数:使用Python内置函数和dateutil等函数库处理日期和时间数据

发布时间:2023-06-15 14:43:51

在日常生活和编程工作中,日期和时间的处理是不可避免的。Python提供了一些内置的日期和时间处理函数和模块,同时还有第三方函数库dateutil等可以帮助我们更方便地处理日期和时间数据。

1. 内置日期和时间处理函数

1.1 time模块

time模块是一个处理时间的标准Python库,它可以获取当前时间、计算程序运行时间、日期转换等操作。

获取当前时间:

import time

now_time = time.strftime('%Y-%m-%d %H:%M:%S',time.localtime(time.time()))

计算程序运行时间:

start_time = time.time()

# code

end_time = time.time()

run_time = end_time - start_time

日期转换:

time.strptime('2022-01-01','%Y-%m-%d')

1.2 datetime模块

datetime模块提供了日期和时间的各种操作,包括日期的加减、日期格式化、日期比较等操作。

获取当前日期和时间:

import datetime

now_time = datetime.datetime.now()

日期的加减:

now_time = datetime.datetime.now()

yesterday = now_time - datetime.timedelta(days=1)

日期格式化:

now_time.strftime('%Y-%m-%d %H:%M:%S')

日期比较:

date1 = datetime.datetime.strptime('2022-01-01','%Y-%m-%d')

date2 = datetime.datetime.now()

if date1 > date2:

    # code

2. dateutil函数库

dateutil是Python的第三方函数库,是Python日期和时间操作中最强大的函数库之一。它提供了许多便利的函数,可以轻松地处理各种类型的日期和时间数据。

2.1 Parser

Parser是dateutil库中最常用的函数,可以帮助我们将字符串转换成日期和时间类型。

from dateutil.parser import parse

date_str = '2022-01-01 08:30:00'

date = parse(date_str)

2.2 relativedelta

relativedelta可以替代datetime模块中的timedelta函数,它提供了更为灵活的日期比较和计算操作。

from dateutil.relativedelta import relativedelta

now_time = datetime.datetime.now()

yesterday = now_time - relativedelta(days=1)

2.3 rrule

rrule可以帮助我们生成指定时间段内的重复日期和时间。例如,我们可以用rrule生成一个每周重复的日期序列。

from dateutil.rrule import *

start_time = datetime.datetime(2022,1,1)

end_time = datetime.datetime(2023,1,1)

rule = rrule(DAILY,byweekday(MO),dtstart=start_time,until=end_time)

for date in rule:

    print(date.strftime('%Y-%m-%d'))

以上就是Python内置日期和时间处理函数和第三方dateutil函数库的使用方法介绍。通过使用这些函数和模块,我们可以更为方便地在Python中进行日期和时间的操作,提高编码效率和程序表现。