Python中的时间模块

内置模块-时间模块

1.time 时间模块:import time

import time

概念:

  1. 时间戳: 1574905882.6581771 表示从1970年1月1日0时0分0秒到现在的一个秒数,目前可以计算到2038年
  2. 时间字符串: Thu Nov 28 09:54:08 2019
  3. 时间元组: time.struct_time(tm_year=2019, tm_mon=11, tm_mday=28, tm_hour=9, tm_min=55, tm_sec=32, tm_wday=3, tm_yday=332, tm_isdst=0)
  • time.time() 获取当前系统的时间戳
import time
print(time.time())
>>>1592051489.5272338
  • time.ctime() 获取当前系统时间,时间字符串
import time
print(time.ctime())
>>>Sat Jun 13 20:27:55 2020
  • time.local() 获取当前系统时间,时间元组
import time
a = time.time()
print(time.localtime())
>>>time.struct_time(tm_year=2020, tm_mon=6, tm_mday=13, tm_hour=20, tm_min=28, tm_sec=49, tm_wday=5, tm_yday=165, tm_isdst=0)
  • 以上时间字符串和时间元组可以通过指定的时间戳来获取
import time
a = 100000000.5272338  #时间戳
print(time.ctime(a))
print(time.localtime(a))
>>>Sat Mar  3 17:46:40 1973
   time.struct_time(tm_year=1973, tm_mon=3, tm_mday=3, tm_hour=17, tm_min=46, tm_sec=40, tm_wday=5, tm_yday=62, tm_isdst=0)
  • 使用localtime方法获取的时间元组,如何格式化成为 xxxx年xx月xx日 时:分:秒 星期几
import time
a = time.localtime()
print(f'{a.tm_year}年,{a.tm_mon}月,{a.tm_mday}日')
>>>2020,6,13

【上面这种字符串格式化方法比较麻烦,所以有了下面的time.strftime() 方法】

  • time.strftime() 格式化时间 年-月-日 时:分:秒 星期几
import time
res = time.strftime('%Y-%m-%d %H:%M:%S %w')
#里面的字符分别是 年(4个字符的),月(大M是分钟),日,小时,分钟,秒
print(res)
>>>2020-06-13 20:42:59 6
#如果这样就直接输出当前的时间

import time
a = time.time()         #时间戳
b = time.localtime(a)   #变为字符串格式化时间
c = time.strftime('%Y-%m-%d',b)  #通过字符串格式化时间来得到年-月-日格式
print(c)
>>>2020-06-14
  • time.sleep(秒) 在给定的秒数内暂停调用线程的执行。该参数可以是浮点数,以指示更精确的休眠时间。
import time
res = time.strftime('%Y-%m-%d %H:%M:%S %w')
print(time.strftime('%Y-%m-%d %H:%M:%S %w'))
time.sleep(3)
print(time.strftime('%Y-%m-%d %H:%M:%S %w'))
>>>2020-06-13 20:53:13 6
   #这俩输出之间停了3秒钟
   2020-06-13 20:53:16 6
  • time.perf_counter() 计算程序的运行时间
import time
start = time.perf_counter()
for i in range(1000000):
    if i > 0:
        pass
end = time.perf_counter()
print(end-start)
>>>0.050299300000000005

2. calendar 日历模块:import calendar

  • calendar.monthrange(年,月)

    返回指定年份和月份的数据,数据包括:月份的第一天是周几,和月份中的天数。

import calendar
res = calendar.monthrange(2019,11)
print(res)
>>>(4, 30)
#4代表是周几,30代表月份中的天数
#注意!这里周几的下标是从0开始的,也就是说4代表是周五!
#打印某年某月的日历
import  calendar

# 返回指定年份和月份的数据,月份的第一天是周几,和月份中的天数。
# calendar.monthrange(年,月)
def showdate(year,month):
    res = calendar.monthrange(year,month)
    days = res[1] # 当前月份的天数
    w = res[0]+1 # 当前月份第一天周几信息
    print(f'====={year}年{month}月的日历信息=====')
    print(' 一   二  三  四   五  六  日 ')
    print('*'*28)
    # 实现日历信息的输出
    d = 1
    while d <= days:
        # 循环周
        for i in range(1,8):
            # 判断是否输出
            if d > days or (i < w and d == 1):
                print(' '*4,end="")
            else:
                print(' {:0>2d} '.format(d),end="")
                d+=1
        print()
    print('*'*28)

showdate(2019,12)
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值