Python中的时间函数:Python提供了一系列有关时间、日期的函数,可以用于获取当前时间,计算时间差,格式化时间等。
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中的时间函数,提高代码编写的效率。
