python基础语法(二)基本扩展模块:caldendar模块和time模块

本文介绍了Python的calendar模块,包括calendar.calendar(), calendar.month(), calendar.prmonth()等函数的使用,以及如何打印和列出日历。同时,探讨了time模块,展示了time.time()、time.asctime()和time.ctime()等功能,用于获取和处理时间戳及日期。" 123253363,11732458,JavaScript实现动态规划算法解析,"['JavaScript', '算法', '数据结构', '前端开发', '动态规划']
摘要由CSDN通过智能技术生成

calendar模块:
跟日历相关的若干函数和类,可以生成文本形式的日历

常用函数:
calendar.calendar(<年>)
calendar.month(<年>,<月>)
calendar.prmonth(<年>,<月>)
calendar.rcal(<年>)

>>> import calendar
>>> calendar.month(2019,3)
'     March 2019\nMo Tu We Th Fr Sa Su\n             1  2  3\n 4  5  6  7  8  9 10\n11 12 13 14 15 16 17\n18 19 20 21 22 23 24\n25 26 27 28 29 30 31\n'
>>> print(calendar.month(2019,3))
     March 2019
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 30 31
>>> calendar.prmonth(2019,4)
     April 2019
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 30

>>> calendar.calendar(2019)
'                                  2019\n\n      January                   February                   March\nMo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su\n    1  2  3  4  5  6                   1  2  3                   1  2  3\n 7  8  9 10 11 12 13       4  5  6  7  8  9 10       4  5  6  7  8  9 10\n14 15 16 17 18 19 20      11 12 13 14 15 16 17      11 12 13 14 15 16 17\n21 22 23 24 25 26 27      18 19 20 21 22 23 24      18 19 20 21 22 23 24\n28 29 30 31               25 26 27 28               25 26 27 28 29 30 31\n\n       April                      May                       June\nMo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su\n 1  2  3  4  5  6  7             1  2  3  4  5                      1  2\n 8  9 10 11 12 13 14       6  7  8  9 10 11 12       3  4  5  6  7  8  9\n15 16 17 18 19 20 21      13 14 15 16 17 18 19      10 11 12 13 14 15 16\n22 23 24 25 26 27 28      20 21 22 23 24 25 26      17 18 19 20 21 22 23\n29 30                     27 28 29 30 31            24 25 26 27 28 29 30\n\n        July                     August                  September\nMo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su\n 1  2  3  4  5  6  7                1  2  3  4                         1\n 8  9 10 11 12 13 14       5  6  7  8  9 10 11       2  3  4  5  6  7  8\n15 16 17 18 19 20 21      12 13 14 15 16 17 18       9 10 11 12 13 14 15\n22 23 24 25 26 27 28      19 20 21 22 23 24 25      16 17 18 19 20 21 22\n29 30 31                  26 27 28 29 30 31         23 24 25 26 27 28 29\n                                                    30\n\n      October                   November                  December\nMo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su\n    1  2  3  4  5  6                   1  2  3                         1\n 7  8  9 10 11 12 13       4  5  6  7  8  9 10       2  3  4  5  6  7  8\n14 15 16 17 18 19 20      11 12 13 14 15 16 17       9 10 11 12 13 14 15\n21 22 23 24 25 26 27      18 19 20 21 22 23 24      16 17 18 19 20 21 22\n28 29 30 31               25 26 27 28 29 30         23 24 25 26 27 28 29\n                                                    30 31\n'
>>> calendar.prcal(2019)
                                  2019

      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  6                   1  2  3                   1  2  3
 7  8  9 10 11 12 13       4  5  6  7  8  9 10       4  5  6  7  8  9 10
14 15 16 17 18 19 20      11 12 13 14 15 16 17      11 12 13 14 15 16 17
21 22 23 24 25 26 27      18 19 20 21 22 23 24      18 19 20 21 22 23 24
28 29 30 31               25 26 27 28               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  6  7             1  2  3  4  5                      1  2
 8  9 10 11 12 13 14       6  7  8  9 10 11 12       3  4  5  6  7  8  9
15 16 17 18 19 20 21      13 14 15 16 17 18 19      10 11 12 13 14 15 16
22 23 24 25 26 27 28      20 21 22 23 24 25 26      17 18 19 20 21 22 23
29 30                     27 28 29 30 31            24 25 26 27 28 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  6  7                1  2  3  4                         1
 8  9 10 11 12 13 14       5  6  7  8  9 10 11       2  3  4  5  6  7  8
15 16 17 18 19 20 21      12 13 14 15 16 17 18       9 10 11 12 13 14 15
22 23 24 25 26 27 28      19 20 21 22 23 24 25      16 17 18 19 20 21 22
29 30 31                  26 27 28 29 30 31         23 24 25 26 27 28 29
                                                    30

      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  5  6                   1  2  3                         1
 7  8  9 10 11 12 13       4  5  6  7  8  9 10       2  3  4  5  6  7  8
14 15 16 17 18 19 20      11 12 13 14 15 16 17       9 10 11 12 13 14 15
21 22 23 24 25 26 27      18 19 20 21 22 23 24      16 17 18 19 20 21 22
28 29 30 31               25 26 27 28 29 30         23 24 25 26 27 28 29
                                                    30 31

将日历列表化:
calendar.monthcalendar()
返回某一年的某一个月份日历,是一个嵌套列表
最里层的列表含有七个元素,代表一周(从周一到周日)
如果没有本月的日期,则为0
>>> import calendar
>>> calendar.monthcalendar(2019,3)
[[0, 0, 0, 0, 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, 30, 31]]

判别闰年:
普通闰年:能被4整除但不能被100整除的年份
世纪闰年:能被400整除的年份
calendar.isleap(<年>)
>>> calendar.isleap(2019)
False
>>> calendar.isleap(2020)
True

计算某月共有多少天,从周几开始?
从0开始,依次为周一、周二...
计算某天是周几?
返回值为0到6,依次对应的是周一到周日
>>> import calendar
>>> calendar.monthrange(2019,3)
(4, 31)
>>> calendar.weekday(2019,3,3)
6

time模块:
获取时间戳:time.time()方法
时间戳的用处:记录程序运行的时间
 

import time
t1 = time.time()
a = 0
for i in range(10000):
    a += i
print(a)
t2 = time.time()
print(t2-t1)
>>> 
49995000
0.018352031707763672   #s

获取当前时间:
    time.asctime()
    time.ctime()
>>> import time
>>> time.asctime()
'Thu Jun 27 12:53:06 2019'
>>> time.ctime()
'Thu Jun 27 12:54:16 2019'

将元组数据转化为日期:
>>> import time
>>> t = (2019,6,17,12,54,16,0,0,0)
>>> time.asctime(t)
'Mon Jun 17 12:54:16 2019'
这一系列的数值分别对应年、月、日、时、分、秒、周几、一年中的第几天、是否为夏令时间

三、利用索引获取时间信息:
struct_time类:
>>> import time
>>> time.localtime()
time.struct_time(tm_year=2019, tm_mon=6, tm_mday=27, tm_hour=12, tm_min=59, tm_sec=22, tm_wday=3, tm_yday=178, tm_isdst=0)
索引获取时间信息:

import time
t = time.localtime()
year = t[0]
print(year)
>>> 
2019

让程序运行到某处便暂停几秒:
    time.sleep()

import time
for i in range(3):
    print(i)
    t1 = time.time()
    time.sleep(1)
    t2 = time.time()
    print(t2-t1)
>>> 
0
1.0006928443908691
1
1.000385046005249
2
1.000338077545166

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值