一、time模块概述
Python提供了time模块来处理日期和时间。它包含了各种与时间相关的函数。在Python中,时间以tuple(元组)的形式被表示。元组中包含了年、月、日、小时、分钟、秒、一周中第几天、一年中第几天、是否为夏令时等信息。
下面是通过time模块获取当前时间的代码:
import time current_time = time.localtime() print(current_time)
运行上述代码后,输出结果为:
time.struct_time(tm_year=2021, tm_mon=3, tm_mday=25, tm_hour=10, tm_min=45, tm_sec=36, tm_wday=3, tm_yday=84, tm_isdst=0)
在上述代码中,time.localtime()函数返回当前时间元组,包括了年、月、日、小时、分钟、秒、一周中第几天、一年中第几天、是否为夏令时等信息。
二、time模块常用函数
1.time()
time()函数返回当前时间的时间戳(1970年1月1日零时到现在的秒数)。
import time timestamp = time.time() print("当前时间戳为:", timestamp)
运行上述代码后,输出结果为:
当前时间戳为: 1616666607.9862998
2.localtime()
localtime()函数将一个时间戳转换为当前时区的struct_time。若不指定参数,则以当前时间为准。可以通过访问元组成员来获取年、月、日、小时、分钟、秒、一周中第几天、一年中第几天、是否为夏令时等信息。
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)
运行上述代码后,输出结果为:
当前时间: time.struct_time(tm_year=2021, tm_mon=3, tm_mday=25, tm_hour=11, tm_min=16, tm_sec=4, tm_wday=3, tm_yday=84, tm_isdst=0) 年份: 2021 月份: 3 日期: 25 小时: 11 分钟: 16 秒钟: 4
3.strftime()
strftime()函数将一个struct_time(时间元组)格式化为字符串。
import time current_time = time.localtime() time_str = time.strftime("%Y-%m-%d %H:%M:%S", current_time) print("格式化后的时间:", time_str)
运行上述代码后,输出结果为:
格式化后的时间: 2021-03-25 11:23:03
其中,%Y代表年份(四位数),%m代表月份(两位数,01-12),%d代表日期(两位数,01-31),%H代表小时(24小时制,两位数,00-23),%M代表分钟(两位数,00-59),%S代表秒钟(两位数,00-59)。
4.sleep()
sleep()函数可以让程序暂停一段时间。
import time print("程序开始执行...") time.sleep(5) print("5秒钟后...")
运行上述代码后,输出结果为:
程序开始执行... 5秒钟后...
三、datetime模块
Python中还有一个datetime模块,它提供了更高级别的时间处理功能。datetime模块中的datetime类既可以表示日期,也可以表示时间。
1.datetime类常用属性和方法
下面是datetime类常用属性和方法的介绍:
- datetime.today():返回当前本地时间的datetime对象。
- datetime.now():返回当前本地时间的datetime对象,同时可以指定时区。
- datetime.utcnow():返回当前UTC时间的datetime对象。
- datetime.fromtimestamp(timestamp):将时间戳转换为datetime对象。
- datetime.strftime(format):将datetime对象格式化为字符串。
下面是通过datetime模块获取当前时间的代码:
from datetime import datetime current_time = datetime.now() print("当前时间:", current_time)
运行上述代码后,输出结果为:
当前时间: 2021-03-25 11:58:34.467982
下面是将datetime对象格式化为字符串的代码:
from datetime import datetime current_time = datetime.now() time_str = current_time.strftime("%Y-%m-%d %H:%M:%S") print("格式化后的时间:", time_str)
运行上述代码后,输出结果为:
格式化后的时间: 2021-03-25 11:58:34
2.timedelta类
timedelta类表示时间间隔。可以用来计算两个日期之间的天数、小时数等。timedelta对象有days、seconds、microseconds三个只读属性,可以分别获取天数、秒数和微秒数。
下面是计算两个日期之间的天数的代码:
from datetime import datetime, timedelta date1 = datetime(2021, 3, 1) date2 = datetime(2021, 3, 25) diff = date2 - date1 print("两个日期之间的天数:", diff.days)
运行上述代码后,输出结果为:
两个日期之间的天数: 24
下面是通过timedelta类来计算时间之后的日期的代码:
from datetime import datetime, timedelta current_time = datetime.now() one_day = timedelta(days=1) next_day = current_time + one_day print("明天的日期是:", next_day.strftime("%Y-%m-%d"))
运行上述代码后,输出结果为:
明天的日期是: 2021-03-26
四、总结
本文主要介绍了Python中的time模块和datetime模块,它们提供了对日期和时间的处理功能。time模块能够获取当前时间、计算时间间隔、将时间格式化为字符串等;而datetime模块则提供了更高级别的时间处理功能,支持更多的格式化和操作。使用这些模块可以更加方便地处理日期和时间,帮助我们完成更多的任务。