Python中的时间处理:十个常用时间函数,包括日期格式化、时间戳转换等。
Python是一种强大的编程语言,在日期和时间处理方面也提供了众多的功能和库。本文将介绍Python中的十个常用时间函数,包括日期格式化、时间戳转换等,帮助读者处理各种时间操作。
1. datetime模块
datetime模块是Python中处理日期和时间的核心模块。它提供了表示时间的类和函数,可用于处理日期、时间、时间段等相关操作。以下是一些常用的函数:
1)datetime.datetime.now()
该函数返回当前日期和时间。使用该函数需要导入datetime模块。
import datetime now = datetime.datetime.now() print(now)
输出:
>>> 2021-12-31 23:59:59.999999
2)datetime.date.today()
该函数返回当天的日期。使用该函数需要导入datetime模块。
import datetime today = datetime.date.today() print(today)
输出:
>>> 2021-12-31
3)datetime.timedelta
该函数用于处理时间间隔。以下是一些示例:
import datetime # 计算两个日期之间的时间差 d1 = datetime.date(2021, 1, 1) d2 = datetime.date(2022, 1, 1) delta = d2 - d1 print(delta) # 增加或减少时间 delta = datetime.timedelta(days=1, hours=2, minutes=30) print(now + delta) print(now - delta)
输出:
>>> 365 days, 0:00:00 >>> 2022-01-01 01:30:00 >>> 2021-12-30 21:29:59.999999
2. time模块
time模块提供了与时间相关的函数和类。以下是一些常用函数:
1)time.time()
该函数返回当前时间的时间戳,即自1970年1月1日以来经过的时间(单位为秒)。
import time timestamp = time.time() print(timestamp)
输出:
>>> 1641035599.9999998
2)time.localtime()
该函数返回本地时间的struct_time对象。
import time localtime = time.localtime() print(localtime)
输出:
>>> time.struct_time(tm_year=2021, tm_mon=12, tm_mday=31, tm_hour=23, tm_min=59, tm_sec=59, tm_wday=4, tm_yday=365, tm_isdst=0)
3)time.strftime()
该函数将时间格式化为指定的字符串。
import time
now = time.localtime()
timestr = time.strftime("%Y-%m-%d %H:%M:%S", now)
print(timestr)
输出:
>>> 2021-12-31 23:59:59
3. calendar模块
calendar模块提供了一些函数,可用于处理与日期和时间有关的操作。以下是一些常用函数:
1)calendar.monthrange(year, month)
该函数返回给定年月的日历的 天和该月的总天数。
import calendar year = 2021 month = 12 first_day, total_days = calendar.monthrange(year, month) print(first_day, total_days)
输出:
>>> 4 31
2)calendar.weekday(year, month, day)
该函数返回给定日期(年、月、日)的星期几(0为星期一,6为星期日)。
import calendar date = (2021, 12, 31) weekday = calendar.weekday(*date) print(weekday)
输出:
>>> 4
4. timeit模块
timeit模块用于评估一段代码的运行时间。以下是一些示例:
import timeit # 测试1:用for循环遍历一个列表 setup = "lst = list(range(100))" stmt = "for i in lst: pass" t = timeit.timeit(stmt, setup=setup) print(t) # 测试2:使用列表生成式生成一个列表 stmt = "[i for i in range(100)]" t = timeit.timeit(stmt) print(t)
输出:
>>> 4.831105600000153 >>> 2.4473655999999666
5. sleep函数
sleep函数用于使程序等待指定的时间。以下是一个示例:
import time
print("开始等待...")
time.sleep(5) # 等待5秒
print("等待结束")
输出:
>>> 开始等待... >>> 等待结束
6. strptime函数
strptime函数用于将字符串解析为日期时间对象。
import datetime s = "2022-01-01 00:00:00" dt = datetime.datetime.strptime(s, "%Y-%m-%d %H:%M:%S") print(dt)
输出:
>>> 2022-01-01 00:00:00
7. strftime函数
strftime函数用于将日期时间对象格式化为指定的字符串。
import datetime
now = datetime.datetime.now()
t = now.strftime("%Y-%m-%d %H:%M:%S")
print(t)
输出:
>>> 2021-12-31 23:59:59
8. timestamp转日期时间
将时间戳转换为日期时间对象。
import datetime timestamp = 1641035599.9999998 dt = datetime.datetime.fromtimestamp(timestamp) print(dt)
输出:
>>> 2021-12-31 23:59:59.999999
9. 日期时间转timestamp
将日期时间对象转换为时间戳。
import datetime dt = datetime.datetime(2021, 12, 31, 23, 59, 59) timestamp = dt.timestamp() print(timestamp)
输出:
>>> 1641033599.0
10. timedelta计算时间差
使用timedelta对象计算两个日期时间的时间差。
import datetime dt1 = datetime.datetime(2021, 1, 1) dt2 = datetime.datetime(2022, 1, 1) delta = dt2 - dt1 print(delta)
输出:
>>> 365 days, 0:00:00
总结:Python中提供了许多用于处理日期和时间的函数和模块。本篇文章介绍了常用的十个时间函数,包括日期格式化、时间戳转换、时间差计算等操作。使用这些函数和模块,可以更便捷地处理和计算日期和时间。
