Python时间函数详解
Python是一门非常强大的编程语言,其内置了很多关于时间的函数,可以用于处理日期、时间、时间戳等等。在本篇文章中,我们将对Python时间函数进行详细的介绍。
1. time模块
time模块是Python中处理时间的基本模块,提供了与时间有关的函数和变量。这里我们介绍一些常用的函数和变量。
1.1 time()
time()函数可以返回当前系统时间的时间戳。时间戳是一个唯一的数字,它代表1970年1月1日00:00:00 UTC(协调世界时)起的秒数。time()不需要传入参数,返回一个浮点数。
import time
current_time = time.time()
print("当前系统的时间戳为:", current_time)
输出:
当前系统的时间戳为: 1614522199.5100138
1.2 localtime()
localtime()函数将一个时间戳转换为当地时间。这个函数接收一个时间戳作为参数,默认如果不传入参数,则返回当前的本地时间。函数返回一个元组表示时间,包含以下几个元素:
- tm_year:年份
- tm_mon:月份(1~12)
- tm_mday:日(1~31)
- tm_hour:时(0~23)
- tm_min:分(0~59)
- tm_sec:秒(0~61,60和61是闰秒),默认值为0
- tm_wday:周几(0~6)
- tm_yday:一年中的第几天(1~366)
- tm_isdst:是否为夏令时(1表示是;0表示否;-1表示未知)
import time
# 当前时间
current_time = time.localtime()
print("当前时间:", current_time)
print("年份:", current_time.tm_year)
print("月份:", current_time.tm_mon)
print("日:", current_time.tm_mday)
print("小时:", current_time.tm_hour)
print("分钟:", current_time.tm_min)
print("秒:", current_time.tm_sec)
print("周几:", current_time.tm_wday)
print("一年中的第几天:", current_time.tm_yday)
print("是否为夏令时:", current_time.tm_isdst)
输出:
当前时间: time.struct_time(tm_year=2021, tm_mon=2, tm_mday=28, tm_hour=9, tm_min=49, tm_sec=34, tm_wday=6, tm_yday=59, tm_isdst=0) 年份: 2021 月份: 2 日: 28 小时: 9 分钟: 49 秒: 34 周几: 6 一年中的第几天: 59 是否为夏令时: 0
1.3 sleep()
sleep()函数可以让程序暂停指定的时间。它需要一个参数作为休眠的秒数,可以是整数或者浮点数。
import time
print("开始休眠")
time.sleep(5.5)
print("休眠结束")
输出:
开始休眠 休眠结束
1.4 strftime()
strftime()函数可以将一个时间元组格式化为一个字符串。它的第一个参数是格式化字符串,其余参数是时间元组。格式化字符串中的特定字符会被替换成相应的时间信息。以下是常用的格式化字符:
- %Y:年份
- %m:月份
- %d:日
- %H:小时(24小时制)
- %I:小时(12小时制)
- %M:分钟
- %S:秒
- %w:周几(0~6)
- %j:一年中的第几天(1~366)
import time
timestamp = time.time()
# 将时间戳转换为本地时间
localtime = time.localtime(timestamp)
# 格式化本地时间
time_str = time.strftime("%Y-%m-%d %H:%M:%S", localtime)
print("时间戳:", timestamp)
print("本地时间:", localtime)
print("格式化后的时间:", time_str)
输出:
时间戳: 1614522916.6426158 本地时间: time.struct_time(tm_year=2021, tm_mon=2, tm_mday=28, tm_hour=10, tm_min=8, tm_sec=36, tm_wday=6, tm_yday=59, tm_isdst=0) 格式化后的时间: 2021-02-28 10:08:36
2. datetime模块
与time模块类似,datetime模块也提供了处理时间的函数和变量。但是它提供的功能更加丰富,封装了时间、日期、时间差等等,所以被广泛使用。
2.1 datetime类
datetime类是datetime模块的核心类,可以表示“日期+时间”的组合。
import datetime
# 当前时间
current_time = datetime.datetime.now()
print("当前时间:", current_time)
print("年份:", current_time.year)
print("月份:", current_time.month)
print("日:", current_time.day)
print("小时:", current_time.hour)
print("分钟:", current_time.minute)
print("秒:", current_time.second)
print("微秒:", current_time.microsecond)
输出:
当前时间: 2021-02-28 10:20:18.695671 年份: 2021 月份: 2 日: 28 小时: 10 分钟: 20 秒: 18 微秒: 695671
2.2 timedelta类
timedelta类可以表示两个datetime对象之间的时间差,可以用于计算时间跨度、日期之间的差等等。
import datetime
# 计算时间差
date1 = datetime.datetime(2021, 2, 27, 14, 30, 0)
date2 = datetime.datetime.now()
delta = date2 - date1
print("时间差为:", delta)
print("总共秒数:", delta.total_seconds())
输出:
时间差为: 1 day, 19:57:12.027222 总共秒数: 164832.027222
2.3 strftime()
datetime类中也提供了strftime()函数,功能与time模块中的一样。
import datetime
current_time = datetime.datetime.now()
# 格式化当前时间
time_str = current_time.strftime("%Y-%m-%d %H:%M:%S")
# 打印结果
print("当前时间:", time_str)
输出:
当前时间: 2021-02-28 10:32:04
总结
Python时间函数是处理时间的重要工具,在实际编程过程中,根据需求合理运用这些函数能够提高效率。在本文中,我们对time模块和datetime模块中的常用函数进行了介绍,希望能够帮助大家。
