无字天书之Python第十四页(time和calendar模块)

到这里无字天书之Python基础算是快要结束了…(有可能还有下一篇基础篇操作)
感谢各路神仙的学习和陪伴。。。
未完待续…关注不迷路
将开始Python爬虫更新(学习过程)不喜勿喷,滚蛋就是完事…

传送门

无字天书之Python第一页
无字天书之Python第二页
无字天书之Python第三页
无字天书之Python第四页
无字天书之Python第五页
无字天书之Python第六页
无字天书之Python第七页
无字天书之Python第八页
无字天书之Python第九页
无字天书之Python第十页
无字天书之Python第十一页
无字天书之Python第十二页
无字天书之Python第十三页

time模块

今天要介绍的是一个比较厂用到的模块–time(小编从事java开发还是有经常使用到的),顾名思义,这个就是时间相关的模块。导入模块就可以使用了

import time

简单案例:

for i in range(0,5):
    print(i)
    time.sleep(1)# 中间是秒

结果什么的不重要,重要的是time.sleep(1)这句话是的作用是什么?

sleep()方法是一个睡眠方法,意思就是程序执行到这里会需要睡眠一会,睡眠都不做…如果有运行上面代码的各路神仙应该就会知道自己看着控制台打印的时候会休息一下在打印下一个结果sleep()里面给出的参数是休眠的时间,单位是秒

常用time模块中方法

time中时间戳这个方法可谓是一马当先。

print(time.time())

结果:

1581780313.225781

可能各路神仙看不懂这个是上面JB意思啊,先解释下什么是时间戳

在程序中,一般已1970年1月1日0时0分0秒作为起始时间,时间戳就是从起始时间到现在的时长,在 Python 中,这个时长的单位是秒。那么为什么起始时间是1970年1月1日0时0分0秒呢?

嗯…这个不知道,据我所了解的语言,所有的时间戳都是从这个时间点开始起算的。我顺手帮各位同学百度了下,表示并没有找到答案。
在这里插入图片描述
这些都是小问题没必要纠结,就好像为什么1+1=2一样的

下一个:

print(time.localtime())

结果:

time.struct_time(tm_year=2020, tm_mon=2, tm_mday=15, tm_hour=23, tm_min=27, tm_sec=37, tm_wday=5, tm_yday=46, tm_isdst=0)

这个方法会给出本地时间,可以细分到年月日时分秒。
**小插曲:**这个时间是本地的计算时间,所以修改计算机时间这个值也会变化

print(time.mktime(time.localtime()))

结果:

1581780585.0

各路神仙中的明白人看代码就知道这个方法是干什么的了,mktime()这个方法就是把本地时间转换为一个时间戳
讲到这里会发现,上面不管是时间戳还是格式化时间都不好使。
所以就有了下面的博客内容
在这里插入图片描述
最简单的方法就是去使用asctime()

print(time.asctime(time.localtime()))

结果:

Sat Feb 15 23:32:34 2020

这个结果还带着英文,并不符合我们国人的习惯,所以在教一手自定义格式strftime()

print(time.strftime("%Y-%m-%d %H:%M:%S",time.localtime()))

结果:

2020-02-15 23:34:07

一样日期格式化的符号内容

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

内容那么多,谁记谁神经,其实只需要记住常用的就好了,就比如我上面使用的年、月、日、时、分、秒。其余的不常用的可以在有需要的时候再来查表。

有时候时间之间不使用短横杠 - 来隔开,而选择使用斜杠 / 隔开,这个怎么办?

这个很简单咯,看我的:

print(time.strftime("%Y/%m/%d %H:%M:%S",time.localtime()))

结果:

2020/02/15 23:35:55

calendar

不懂什么意思的小编已经会给你查好了

在这里插入图片描述
直接上代码…

print(calendar.calendar(theyear=2020, w=2, l=1, c=6))

结果:

                                  2020

      January                   February                   March
Mo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su
       1  2  3  4  5                      1  2                         1
 6  7  8  9 10 11 12       3  4  5  6  7  8  9       2  3  4  5  6  7  8
13 14 15 16 17 18 19      10 11 12 13 14 15 16       9 10 11 12 13 14 15
20 21 22 23 24 25 26      17 18 19 20 21 22 23      16 17 18 19 20 21 22
27 28 29 30 31            24 25 26 27 28 29         23 24 25 26 27 28 29
                                                    30 31

       April                      May                       June
Mo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su
       1  2  3  4  5                   1  2  3       1  2  3  4  5  6  7
 6  7  8  9 10 11 12       4  5  6  7  8  9 10       8  9 10 11 12 13 14
13 14 15 16 17 18 19      11 12 13 14 15 16 17      15 16 17 18 19 20 21
20 21 22 23 24 25 26      18 19 20 21 22 23 24      22 23 24 25 26 27 28
27 28 29 30               25 26 27 28 29 30 31      29 30

        July                     August                  September
Mo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su
       1  2  3  4  5                      1  2          1  2  3  4  5  6
 6  7  8  9 10 11 12       3  4  5  6  7  8  9       7  8  9 10 11 12 13
13 14 15 16 17 18 19      10 11 12 13 14 15 16      14 15 16 17 18 19 20
20 21 22 23 24 25 26      17 18 19 20 21 22 23      21 22 23 24 25 26 27
27 28 29 30 31            24 25 26 27 28 29 30      28 29 30
                          31

      October                   November                  December
Mo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su
          1  2  3  4                         1          1  2  3  4  5  6
 5  6  7  8  9 10 11       2  3  4  5  6  7  8       7  8  9 10 11 12 13
12 13 14 15 16 17 18       9 10 11 12 13 14 15      14 15 16 17 18 19 20
19 20 21 22 23 24 25      16 17 18 19 20 21 22      21 22 23 24 25 26 27
26 27 28 29 30 31         23 24 25 26 27 28 29      28 29 30 31
                          30

对传递参数的解释

w = 每个日期之间的间隔字符数
l = 每周所占用的行数
c = 每个月之间的间隔字符数

以后我们看日历可以使用这个函数看了。
在这里插入图片描述
除了直接返回全年的日历,calendar 还支持返回指定月份的日历:

print(calendar.month(2020, 2))

结果:

   February 2020
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

我们还可以直接获得某月的总天数:

print(calendar._monthlen(2020,2))

答案不说了怕侮辱智商

我们还可以知道指定的日期对应的星期数:

print(calendar.weekday(2020, 2, 7))

答案不说了怕侮辱智商

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值