目录

  • 前言
    • ●  Python解释器安装
    • ●  PyCharm开发环境
  • Python程序设计实验
    • ●  实验1 IDLE与代码编写规范
    • ●  实验2 输入输出与数据类型
    • ●  实验3 字符串处理
    • ●  实验4 数据运算
    • ●  实验5 列表与元组应用
    • ●  实验6 字典与集合应用
    • ●  实验7 if语句与match语句
    • ●  实验8 使用循环语句
    • ●  实验9 异常处理
    • ●  实验10 函数应用
    • ●  实验11 类的应用
    • ●  实验12 模块应用
    • ●  实验13  应用re模块
    • ●  实验14 文件处理
    • ●  实验15 用户界面设计
    • ●  实验18 SQLite数据库应用
    • ●  理论考试模拟试题A
    • ●  理论考试模拟试题B
    • ●  理论考试模拟试题C
    • ●  理论考试模拟试题D
  • 学习参考
    • ●  01 Python及其IDLE环境
    • ●  02 Python代码规范
    • ●  03 常量和变量
    • ●  04 输入输出
    • ●  05 运算符
    • ●  06 数值类型
    • ●  07 字符串
    • ●  08 列表
    • ●  09 元组
    • ●  10 字典
    • ●  11 集合
    • ●  12 条件语句
    • ●  13 循环语句
    • ●  14 异常处理
    • ●  15 自定义函数
    • ●  16 内置函数
    • ●  17 模块导入与定义
    • ●  18 math模块
    • ●  19 os模块
    • ●  20 time模块
    • ●  21 random模块
    • ●  22 文本文件
    • ●  23 二进制文件
    • ●  24 类的创建和使用
    • ●  25 类的继承与多态
 20 time模块

一、time模块

1、时间格式

(1)timestamp:时间戳。表示的是从1970年1月1日00:00:00开始按秒计算的值。

(2)struct_time:时间元组。共有九个元素:m_year(年)、tm_mon(月)、tm_mday(日)、tm_hour(时)、tm_min(分)、tm_sec(秒)、

tm_wday(星期数0-6,0为星期一)、tm_yday(一年的第几天)、tm_isdst(是否夏令时)。可以通过索引直接读取时间元组的元素。

(3)format time:格式化时间。格式化符号有:%y(两位数年)、%Y(四位数年)、%m(月)、%d(日)、%H(24小时制0-23)、%I(12小时制小时01-12)、%M(分钟00-59)、%S(秒00-59)、%a(本地简化星期名称)、%A(本地完整星期名称)、%b(本地简化的月份名称)、%B(本地完整的月份名称)、%c(本地相应的日期表示和时间表示)、%j(年内天数)、%p(本地A.M.或P.M.的等价符)、%U(一年中的星期数,星期天为星期的开始)、%w(星期0-6,星期天为星期的开始)、%W(一年中的星期数,星期一为星期的开始)、%x(本地相应的日期表示)、%X(本地相应的时间表示)、%Z(当前时区)。

2、常用函数

(1)asctime(tupletime):根据时间元组(或元组)返回一个表示日期的24个字符的字符串。无参时输出当前日期。

(2)ctime(secs):返回asctime(localtime(secs)),未给参数即asctime()。其中secs为时间戮。

(3)gmtime(secs):根据时间戮secs返回格林威治天文时间(时间元组)。

(4)localtime([secs]):根据时间戮返回当地时间(时间元组)

(5)mktime(tupletime):接受时间元组(或元组)并返回时间戳。

(6)sleep(secs):推迟调用线程的运行秒数。

(7)strftime(fmt,tupletime):接收时间元组并返回以字符串表示的当地时间,格式由fmt决定。

   示例:a=localtime();print(strftime("%A",a))

(8)strptime(str,fmt):根据fmt的格式把一个时间字符串解析为时间元组。如: t=strptime("2019-09-30","%Y-%m-%d")

(9)time( ):返回当前时间的时间戳。

3、应用示例

(1)获取当前日期数据

使用time.localtime()函数,即可得到当前系统日期数据。函数的返回值是时间元组。如:

td=localtime() #得到当前系统日期数据(时间元组)

w="一二三四五六日" #星期字符

print(f"今天是{td[0]}年{td[1]}月{td[2]}日 星期{w[td[6]]}")

(2)根据年月日得到日期的星期和一年中的天数

根据年月日得到时间元组。如:t=time.strptime("2022-4-3","%Y-%m-%d")

根据时间元组得到星期:t[6]即是星期数。为[0,6]上的整数,0-6分别表示星期一至星期日。

根据时间元组得到该日期在一年中的天数:t[7]。


二、datetime模块

datetime模块用于处理日期数据,主要用法:

1、得到当前日期

from datetime import date

td=date.today() #当前日期,date对象

(1)date对象主要属性:year,month,day分别表示年、月、日。

(2)date对象主要函数:weekday(星期数。0-6对应星期一至星期日)、timetuple(根据date对象得到时间元组)。

2、得到指定日期的相关信息

from datetime import date

td=date(2021,8,22) #根据年、月、日得到date对象

t=td.timetuple() #根据date对象得到相应的时间元组,主要利用t[6]得到星期数(0-6)、t[7]得到该日期在一年的天数。


三、calendar 模块

calendar模块主要处理日历数据,常用函数有:

1、calendar(year,w=2,l=1,c=6,m=3)

返回字符串格式的年历。m=3表示3个月一行;c为间隔距离;每日宽度间隔为w个字符;每行长度为21*W+18+2*C。l是每星期行数。

2、isleap(year)

闰年判断。是闰年返回True,否则为False。

3、leapdays(y1,y2)

返回在[Y1,Y2)年之间的闰年总数。

4、month(year,month,w=2,l=1)

返回一个多行字符串格式的月历。两行标题,一周一行。每日宽度间隔为w个字符。每行的长度为7* w+6。l是每星期的行数。

5、monthrange(year,month)

返回元组(a,b)。a表示该月第一天是星期几(0-6);b表示该月的天数(28-31)。

6、prcal(year,w=0,l=0,c=6,m=3)

输出年历。效果优于calendar。

7、prmonth(year,month,w=0,l=0)

输出月历。优于month。

8、weekday(year,month,day)

返回给定日期的星期数(0-6)。0-6分别对应星期一至星期日。