标准库time、datetime、calendar、random的使用

一、time库

python的time库,是基于C语言的库函数,时间间隔是以秒为单位的浮点小数,每个时间戳都以自从1970年1月1日午夜(历元)经过了多长时间来表示。

1.获取当前时间

先导入time模块,函数time.localtime()获取当前时间,从返回浮点数的时间戳方式向时间元组转换,只要将浮点数传递给如t之类的函数。
time.time()返回当前时间戳

import time
t = time.localtime(time.time())
print(t)

返回struct_time元组,属性名称分别是年tm_year、月tm_mon、日tm_mday、时tm_hour、分tm_min、秒tm_sec、一周的第几日tm_wday、一年的第几日tm_yday、是否为夏令时tm_isdst(默认为-1)。
Tip:tm_wday返回值要在此基础上往后推一天

2.获取格式化时间

函数strftime()格式化日期
python中时间日期格式化符号:

  1. %y 两位数的年份表示(00-99)

  2. %Y 四位数的年份表示(000-9999)

  3. %m 月份(01-12)

  4. %d 月内中的一天(0-31)

  5. %H 24小时制小时数(0-23)

  6. %I 12小时制小时数(01-12)

  7. %M 分钟数(00=59)

  8. %S 秒(00-59)

  9. %a 本地简化星期名称

  10. %A 本地完整星期名称

  • %b 本地简化的月份名称
  • %B 本地完整的月份名称
  • %c 本地相应的日期表示和时间表示
  • %j 年内的一天(001-366)
  • %p 本地A.M.或P.M.的等价符要和%I
  • %U 一年中的星期数(00-53)星期天为星期的开始
  • %w 星期(0-6),星期天为星期的开始
  • %W 一年中的星期数(00-53)星期一为星期的开始
  • %x 本地相应的日期表示
  • %X 本地相应的时间表示
  • %Z 当前时区的名称
  • %% %号本身
3.其他的一些函数
  • time.sleep()

该函数可以将程序置于休眠状态,直到某时间间隔之后再唤醒程序,让程序继续运行。可以运用到需要定时地查看程序运行状态。

#程序休眠5秒
print('start')
time.sleep(5)
print('wake up')
  • time.gmtime()
    返回sturct_time格式的UTC时间(0时区 格林威治天文时间 世界标准时间)

  • time.mktime()
    将struct_time格式转换成时间戳,即将时间元组转换回时间值

  • time.clock()
    在UNIX系统上,它返回的是“进程时间”,它是用秒表示的浮点数(时间戳)。而在WINDOWS中,第一次调用,返回的是进程运行的实际时间。而第二次之后的调用是自第一次调用以后到现在的运行时间。

  • time.asctime()
    把一个时间的元组或者struct_time表示为‘星期 月份 日期 时:分:秒 年’。(如果没有输入参数,将会自动把time.localtime()作为参数传入)

  • time.strptime()
    把一个格式化时间字符串转化成struct_time,与strftime()是逆操作。

  • time.ctime()
    把一个时间戳(按秒计算的浮点数)转化为time.asctime()的形式。如果没有输入参数,默认将time.time()作为参数。
    Tip:相当于time.asctime(time.localtime())

二、datetime库

基于time包的一个高级包,datetime模块提供了处理日期和时间的类,既有简单的方式,又有复杂的方式。它虽然支持日期和时间算法,但其实现的重点是为输出格式化和操作提供高效的属性提取功能。可以分为三大类:date类、time类和datetime类。

datetime库概述

以不同格式显示日期和时间是程序中最常用到的功能。Python提 供了一个处理时间的标准函数库datetime,它提供了一系列由简单 到复杂的时间处理方法。datetime库可以从系统中获得时间,并以 用户选择的格式输出。
datetime库以格林威治时间为基础,每天由3600*24秒精准定义 。该库包括两个常量:datetime.MINYEAR与datetime.MAXYEAR ,分别表示datetime所能表示的最小、最大年份,值分别为1与 9999。

(一)date类
  1. datetime.date:
    表示日期的类。常用的属性有year, month, day;
    在这里插入图片描述
  2. datetime.timedelta:
    表示时间间隔,即两个时间点之间的长度,传递参数的时候,还可以是days, hours, milliseconds, microseconds。用于计算一些时间操作,如下例子:
    在这里插入图片描述
date类的函数示例

在这里插入图片描述

(二)time类
  1. datetime.time
    表示时间的类。常用的属性有hour, minute, second, microsecond;
    在这里插入图片描述
  2. datetime.strptime
    其中p = parsing 分解; 重构, 将输入的日期时间字符串转换为指定的格式并读取。
  3. datetime.strftime
    f = formatting 将时间对象转换为另外一种时间格式(同time库一样有两种格式,字符串日期时间格式见上)
(三)datetime类

由于datetime.datetime类表达形式最为丰富,主要介绍这个类的 使用。使用datetime类需要用import保留字,具体引用datetime类 的方式如下:
from datetime import datetime

  1. datetime.datetime:
    表示日期时间,将输入的时间数据转换为对应属性的输出(就是返回上面两个)
import datetime
t = datetime.datetime(2019,4,7,18,56)
print()

#输出结果 2019-04-07 18:56:00
  1. datetime.tzinfo
    时区相关信息对象的抽象基类。它们由datetime和time类使用,以提供自定义时间的而调整。tzinfo的子类对象,如timezone类的实例。

  2. datetime.strftime()
    方法是时间格式化最有效的方法,几乎可以以任何通用 格式输出时间,格式化字符串的数字左侧会自动补零.

  3. datetime.timezone
    新增功能,实现tzinfo抽象基类,表示与UTC的固定偏移量

  4. datetime.combine(date, time)
    把指定的date和time对象整合成一个datetime对象

创建datetime对象的方法
  • datetime.now():返回一个datetime类型,表示当前的日期和时间,精确 到微秒。
  • datetime.utnow():返回一个datetime类型,表示当前日期和时间的UTC表 示,精确到微秒。
  • datetime.datetime()
    在这里插入图片描述 datetime对象有3个常用的时间格式化方法:
    在这里插入图片描述

三、calendar库

该模块提供日历相关方法,提供了三大类:

  • calendar.Calendar:该类提供了许多生成器,如星期的生成器、某月日历生成器
  • calendar.TextCalendar:该类提供了按月、按年生成日历字符串的方法
  • calendar.HTMLCalendar:类似TextCalendar,不过生成的是HTML格式日历
    参考链接link
函数用法
calendar.firstweekday( )返回当前每周起始日期的设置。默认情况下,首次载入caendar模块时返回0,即星期一
calendar.isleap(year)是闰年返回True,否则为false
calendar.leapdays(y1,y2)返回在Y1,Y2两年之间的闰年总数
calendar.month(year,month,w=2,l=1)返回一个多行字符串格式的year年month月日历,两行标题,一周一行。每日宽度间隔为w字符。每行的长度为7* w+6。l是每星期的行数
calendar.monthcalendar(year,month)返回一个整数的单层嵌套列表。每个子列表装载代表一个星期的整数。Year年month月外的日期都设为0;范围内的日子都由该月第几日表示,从1开始
calendar.monthrange(year,month)返回两个整数。第一个是该月的星期几的日期码,第二个是该月的日期码。日从0(星期一)到6(星期日);月从1到12
calendar.prcal(year,w=2,l=1,c=6)相当于 print calendar.calendar(year,w,l,c)
calendar.prmonth(year,month,w=2,l=1)相当于 print calendar.calendar(year,w,l,c)
calendar.setfirstweekday(weekday)设置每周的起始日期码。0(星期一)到6(星期日)
calendar.timegm(tupletime)和time.gmtime相反:接受一个时间元组形式,返回该时刻的时间辍(1970纪元后经过的浮点秒数)
calendar.weekday(year,month,day)返回给定日期的日期码。0(星期一)到6(星期日)。月份为 1(一月) 到 12(12月)

在这里插入图片描述

四、random库

在python中使用随机数需要的库,包含许多随机数生成器。

1.随机浮点数

函数random.uniform()生产指定范围内的浮点数,先导入random模块,函数有两个参数,一个上限一个下限。

import random
a = random.uniform(1,100)
print(a)
2.随机整数

函数random.randint()选取指定范围内的整数,若同上述一样有两个参数,若想选取1~100的随机偶数引入第三个参数‘2’。
并且randint 函数可以返回上界,而其他函数总是返回小于上界的值。 所有函数都有可能返回下界值。

3.随机字符

函数random.choice(需要的字符)随机选取指定字符串中的字符
函数random.sample(‘字符’,需要的个数)随机选取字符串中需要指定个数的字符,返回列表。
在这里插入图片描述

4.随机洗牌

函数random.shuffle()将列表中的元素打乱,个数及内容不变的返回列表。

a = ['you', 'are', 'beautiful', 'today']
random.shuffle(a)
print(a)

#返回结果['are', 'today', 'beautiful', 'you']
5.高斯伪随机数

函数random.guass()是random模块中包含的非恒定分布的随机生成器函数,使用了 gauss (高斯)函数来生成满足高斯分的布随机数字。

import random
print(random.gauss(5,2))

#输出3.780326216218919
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值