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

Python中的时间函数:Python提供了一系列有关时间、日期的函数,可以用于获取当前时间,计算时间差,格式化时间等。

发布时间:2023-06-22 04:10:21

Python是一门广泛应用于数据分析、数据挖掘、人工智能等领域的编程语言,它在处理时间和日期方面也有很好的支持。Python提供了多个内置模块可以用于处理日期和时间,主要包括以下几个模块:time,datetime,calendar,dateutil等。本文将简单介绍Python中的时间函数,以便读者掌握和使用。

time模块

time模块是Python中最基本的时间处理模块,它提供了与时间处理有关的函数。使用该模块可以获取当前时间、计算时间差、格式化时间等操作。以下是time模块中常用的时间函数:

1、time()函数:返回当前时间的时间戳,即从1970年1月1日 00:00:00 UTC到现在所经过的秒数。

样例代码:

import time
print(time.time())

输出:

1620214834.9027321

2、sleep()函数:目的是使程序等待指定秒数后再继续执行。

样例代码:

import time
print("开始时间:", time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()))
time.sleep(2)
print("结束时间:", time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()))

输出:

开始时间: 2021-05-05 22:47:33
结束时间: 2021-05-05 22:47:35

3、strftime()函数:将时间戳格式化为字符串,用于将时间元素格式化为指定格式的字符串。

样例代码:

import time
t = time.localtime()
print(time.strftime("%Y-%m-%d %H:%M:%S", t))

输出:

2021-05-05 22:47:09

4、strptime()函数:将字符串解析为时间元组,用于从指定的字符串中提取时间。

样例代码:

import time
date_str = "2021-05-05 22:47:09"
t = time.strptime(date_str, "%Y-%m-%d %H:%M:%S")
print(t)

输出:

time.struct_time(tm_year=2021, tm_mon=5, tm_mday=5, tm_hour=22, tm_min=47, tm_sec=9, tm_wday=2, tm_yday=125, tm_isdst=-1)

datetime模块

datetime模块是Python中处理日期和时间的模块,它提供了与时间处理有关的函数。该模块主要包括date、time、datetime、timedelta等类,使用这些类可以进行日期、时间的计算、操作和格式化等操作。以下是datetime模块中常用的时间函数:

1、datetime()函数:返回当前时间的datetime对象,包括年、月、日、时、分、秒以及微秒等。

样例代码:

import datetime
print(datetime.datetime.now())

输出:

2021-05-06 09:30:09.302700

2、strftime()函数:将datetime对象格式化为字符串,可以自定义格式。

样例代码:

import datetime
now = datetime.datetime.now()
print(now.strftime("%Y-%m-%d %H:%M:%S"))

输出:

2021-05-06 09:34:23

3、strptime()函数:将字符串解析为datetime对象。

样例代码:

import datetime
date_str = "2021-05-06 09:34:23"
d = datetime.datetime.strptime(date_str, "%Y-%m-%d %H:%M:%S")
print(d)

输出:

2021-05-06 09:34:23

4、timedelta()函数:表示时间间隔,可以进行时间的加减等操作。

样例代码:

import datetime
now = datetime.datetime.now()
tomorrow = now + datetime.timedelta(days=1)
print(tomorrow.strftime("%Y-%m-%d %H:%M:%S"))

输出:

2021-05-07 09:39:57

calendar模块

calendar模块是Python中用于处理日期和时间的一个模块,它提供了一些函数用于生成和操作日历。以下是calendar模块中常用的时间函数:

1、calendar()函数:返回整个年份的日历字符串。

样例代码:

import calendar
cal = calendar.calendar(2021)
print(cal)

2、month()函数:返回指定年份和月份的日历字符串。

样例代码:

import calendar
cal = calendar.month(2021, 5)
print(cal)

输出:

      May 2021
Mo Tu We Th Fr Sa Su
                1  2
 3  4  5  6  7  8  9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31

dateutil模块

dateutil模块是Python中使用非常方便的一个日期时间处理模块,在处理复杂的日期时间数据时可以节省很多时间。dateutil主要提供了parser、rrule、relativedelta等类,可以方便地实现年、月、日、时等时间单位的增加或减少操作。以下是dateutil模块中常用的时间函数:

1、parse()函数:将字符串转换为datetime对象,可以自动识别大多数日期格式。

样例代码:

from dateutil.parser import parse
date_str = "2021-05-06 09:34:23"
d = parse(date_str)
print(d)

输出:

2021-05-06 09:34:23

2、relativedelta()函数:获取时间差。

样例代码:

from dateutil.relativedelta import relativedelta
import datetime
d = datetime.datetime.today()
delta = relativedelta(days=2)
two_days_ago = d - delta
print(two_days_ago.strftime("%Y-%m-%d %H:%M:%S"))

输出:

2021-05-04 10:33:39

3、rrule()函数:返回一个迭代器,可以生成一个日期列表。

样例代码:

from dateutil.rrule import rrule, DAILY
import datetime
start = datetime.datetime(2021, 5, 1)
end = datetime.datetime(2021, 5, 10)
delta = datetime.timedelta(days=1)
dates = list(rrule(DAILY, dtstart=start, until=end, interval=1))
print(dates)

输出:

[datetime.datetime(2021, 5, 1, 0, 0), datetime.datetime(2021, 5, 2, 0, 0), datetime.datetime(2021, 5, 3, 0, 0), datetime.datetime(2021, 5, 4, 0, 0), datetime.datetime(2021, 5, 5, 0, 0), datetime.datetime(2021, 5, 6, 0, 0), datetime.datetime(2021, 5, 7, 0, 0), datetime.datetime(2021, 5, 8, 0, 0), datetime.datetime(2021, 5, 9, 0, 0), datetime.datetime(2021, 5, 10, 0, 0)]

总结

本文主要介绍Python中常用的时间函数,包括time、datetime、calendar、dateutil四个模块中的时间处理函数。这些函数可以用于获取当前时间、计算时间间隔、格式化时间等操作,极大地方便了我们在日常工作中对时间处理的需求。希望本文能够帮助读者更好地了解Python中的时间函数,提高代码编写的效率。