1.datetime库
datetime库以格林威治时间为基础,每天由3600*24秒精准定义。该哭包含两个常量:datetime.MINYEAR与datetime.MAXYEAR,分别表示datetime所能表示的最小、最大年份,值分别为1与9999。
1. datetime.date:日期表示类,可以表示年、月、日等。
2. datetime.time:时间表示类,可以表示小时、分钟、秒、毫秒等。
3. datetime.datetime:日期和时间表示的类,功能覆盖date和time类。
4. datetime.timedelta:与时间间隔有关的类。
5. datetime.tzinfo:与时区有关的信息表示类。
datetime.datetime类
首先创建一个datetime对象(datetime.now()、datetime.utcnow()和datetime.datetime()),然后通过对象的方法和属性显示时间。
1.使用datetime.now()获得当前日期和时间对象。
datetime.now()
返回一个datetime类型,表示当前的日期和时间,精确到微秒。
>>>from datetime import datetime
>>>datetime.now()
datetime.datetime(2019, 4, 17, 11, 23, 9, 329231)
2.使用datetime.utcnow()获得当前日期和时间对应的UTC(世界标准时间)时间对象。
datetime.utcnow()
返回一个datetime类型,表示当前的日期和时间的UTC表示,精确到微秒。
>>>datetime.utcnow()
datetime.datetime(2019, 4, 17, 3, 23, 9, 417458)
3.可以直接使用datetime()构造一个日期和时间对象。
datetime(year,month,day,hour=0,minute=0,second=0,microsecond=0)
返回一个datetime类型,表示指定的日期和时间,精确到微秒。
year: MINYEAR <= year <= MAXYEAR
montn: 1<= month <= 12
day: 1<= day <= 月份所对应的日期上限
hour: 0 <= hour < 24
minute: 0 <= minute < 60
second: 0 <= second < 60
microsecond: 0 <= microsecond < 1000000
>>>someday = datetime(2016,9,16,22,33,32,7)
>>>someday
datetime.datetime(2016, 9, 16, 22, 33, 32, 7)
为区别datetime库名,使用someday代替生成的datetime对象
datetime类的常用属性 |
---|
someday.min |
someday.max |
someday.year |
someday.momth |
someday.day |
someday.hour |
someday.minute |
someday.second |
someday.microsecond |
datetime类常用的时间格式化方法
属性 | |
---|---|
someday.isoformat() | 采用 ISO 8601 标准显示时间 |
someday.isoweekday() | 根据日期计算星期后返回 1 ~ 7,对应星期一到星期日 |
someday.strftime(format) | 根据格式化字符串format进行格式化显示的方法 |
>>>someday = datetime(2016,9,16,22,33,32,7)
>>>someday.isoformat()
'2016-09-16T22:33:32.000007'
>>>someday.isoweekday()
5
2.random库
random()函数的作用是生成随机数
计算机产生的随机数是按照一定算法产生的,是伪随机数
random库的常用函数
函数 | 作用 |
---|---|
seed(a=None | 初始化随机数种子,默认值为当前系统时间 |
random() | 生成一个[0.0,1.0)之间的随机小数 |
randint(a,b) | 生成一个[a,b] |
getrandbits(k) | 生成一个k比特长度的随机数 |
randrange(star,stop[,step]) | 生成一个[star,stop)之间以step为步数的随机整数 |
uniform(a,b) | 生成一个[a,b]之间的随机小数 |
choice(seq) | 从序列类型,例如列表中随机返回一个元素 |
shuffle(seq) | 将序列类型中的元素随机排序,返回打乱后的序列 |
sample(pop,k) | 从pop类型中随机选取k个元素,以列表类型返回 |
生成随机数之前可以通过seed()函数指定随机数种子,随机数种子一般是一个整数,只要种子相同,每次生成的随机数序列也相同。这种情况便于测试和同步数据,例如:
>>>from random import*
>>>seed(125)
>>>"{}.{}.{}".format(randint(1,10),randint(1,10),randint(1,10))
'4.4.10'
>>>"{}.{}.{}".format(randint(1,10),randint(1,10),randint(1,10))
'5.10.3'
>>>seed(125)
>>>"{}.{}.{}".format(randint(1,10),randint(1,10),randint(1,10))
'4.4.10'