TOC

随机数模块

    在现实开发当中,随机数的使用场景是很多的,有的时候为了测试一个东西,我们会随机的产生一些数据,然后拿着这些数据去做测试,那么随机数也是Python内建模块之一random;
random:返回一个0到1之间到浮点数;
randint:接受两个正整数,第一个为起始数,一个是结束数,返回一个区间正整数;
choice:接受一个序列,该方法可以从这个序列中随机选择一个元素;
randrange:该方法可以在指定范围的正整数中挑选一个正整数,接受三个正整数,第一个为起始数,第二个为结束数,第三个为步长;
uniform:和randrange类似,只不过它接受两个参数,一个为起始数,一个为结束数,并且返回一个区间浮点数;
shuffle:接受一个序列,返回一个打乱后的序列;
sample:接受一个序列,和一个样本数,返回这个序列中指定个数的样本数,并且进行打乱顺序;

时间模块

    但凡是个系统,时间是非常重要的一个指标,对于一个电商网站来讲,每一笔交易争分夺秒,所以说时间往往都是必须记录都字段之一,时间模块一般就是对几点几时几分进行处理,或者对时间戳进行处理;
时间字符串格式
    在日常开发中,我们会看到各式各样格式的时间,需要对其进行各种操作,比如转换成指定系统或数据库能匹配的格式时间,那么此时,我们就需要用到时间字符串格式,将其解析并转换成我们需要的格式,格式很多,如下表;
格式
描述
%a
星期几的缩写,如Wed
%A
星期几的全写,如Wednesday
%b
月份简写,如Aug
%B
月份全写,如August
%c
适当的日期时间表示,如Wed Aug 15 10:36:41 2018
%d
十进制数的月份中的一天[01,31],如15(现在为8月15日)
%H
小时(24小时制)
%l
小时(12小时制)
%j
表示今天是当年的第n天
%m
月份
%M
分钟
%p
AM(上午)或PM(下午)
%S
秒钟
%U
表示今年的第n周,星期天是第一天。(新的一年的第一个星期天之前是第0周)
%w
该周的天数,0代表周日,1代表周一,依此类推
%W
表示今年的第n周,星期一是第一天
%x
区域设置的适当日期表示形式。(新的一年的第一个星期一之前是第0周)
%X
适宜的时间表示,如10:36:41
%y
无世纪年份,如18(年)
%Y
有世纪年份,如2018(年)
%z
时区偏移,表示与UTC/GMT格式+HHMM或-HHMM的正负时差,其中H表示十进制小时数,M表示十进制分钟数
%Z
时区名称(如果没有时区,则没有字符)
%%
%的表示
datatime
    datatime模块进行了重新封装,提供更多接口,提供的类有:date,time,datetime,timedelta,tzinfo;
date类
    date对象表示理想化日历中的日期(年、月和日),即当前公历日历在两个方向上无限延伸。第一年的一月一日叫做第一天,第一年的一月二日叫做第二天,以此类推;
# 类构造方法
    date():初始化一个date对象;
# 类方法
    date.max:date对象所能表示的最大日期;
    date.min:date对象所能表示的最小日期;
    date.resolution:date对象表示日期的最小单位。这里是天;
    date.today():返回当前本地日期的date对象,默认返回年月日;
    date.fromtimestamp(timestamp):根据给定的时间戮,返回一个date对象;
    date.year:返回当前时间对象的年份;
    date.month:返回当前时间对象的月份;
    date.day:返回当前时间对象的天数,针对当前时间对象月份的多少天,如果当前月份是31天,那么就返回相对这31天的多少天;
# 对象方法
    date.replace(year, month, day):依据关键字参数给出的新值,返回一个新的日期;
    date.timetuple():返回一个类似time.localtime()的返回值。Hours、minutes和seconds为0;
    date.weekday():返回一星期中的第几天,其中星期一是0,星期日是6;
    date.isoweekday():返回一星期中的第几天,其中星期一是1,星期日是7;
    date.isocalendar():返回一个三元组,年月份;
    date.isoformat():返回以ISO 8601 格式‘YYYY-MM-DD’表示日期的字符串。例如,date(2002, 12, 4).isoformat() == '2002-12-04';
    date.ctime():返回表示日期的字符串;
    date.strftime(format):返回一个表示日期的字符串,由显式的格式字符串控制;
# datetime还有很多方法,详情见Python3.5.2标准库;
转换时间戳
    datetime.date类默认是没有timestamp方法的,所以我们需要将datetime.date类生成的时间对象,转为时间戳的时候,需要借助于time模块,使用mktime方法;
import datetime,time

dt=datetime.date(2021,10,26)
print(time.mktime(dt.timetuple())) # 1635177600.0
time类
    Time对象表示一天中的(本地)时间,独立于任何特定的日子,并且可以通过tzinfo对象进行调整;
# 类构造方法
    time(hour=0, minute=0, second=0, microsecond=0, tzinfo=None):初始化一个time对象,时分秒为秒;
# 类方法
    time.max:time对象所能表示的一天最大时间,即23:59:59.999999;
    time.min:time对象所能表示的一天最小时间,即00:00:00;
    time.resolution:date对象表示日期的最小单位。这里是天;
    time.hour:返回当前时间对象的小时;
    time.minute:返回当前时间对象的分钟;
    time.second:返回当前时间对象的秒数;
    time.microsecond:返回当前时间对象的微秒数;
# 对象方法
    time.replace(year, month, day):依据关键字参数给出的新值,返回一个新的时间;
    time.isoformat():返回以ISO8601格式HH:MM:SS.mmmmmm表示间的字符串;
    time.strftime():返回一个表示time的字符串,由显式的格式字符串控制;
datetme类
    datetime对象是一个包含date对象和time对象所有信息的单个对象。类似date对象,datetime假定当前公历日历在两个方向上延伸;类似time对象,datetime假设每天有精确的3600*24秒;
# 类构造方法
    datetime(year, month, day, hour=0, minute=0, second=0, microsecond=0, tzinfo=None):初始化一个datetime对象,年月日时分秒为秒;
# 类方法
    datetime.today:返回当前本地日期时间,即2020-12-12 23:59:59.999999;
    datetime.now(tz=None):返回本地当前的日期和时间。如果可选参数tz为None或未指定;
    datetime.utcnow():返回当前UTC日期和时间;
    datetime.fromtimestamp(timestamp, tz=None):返回与POSIX时间戳对应的本地日期和时间;
    datetime.utcfromtimestamp(timestamp):返回与POSIX时间戳对应的UTC datetime;
    datetime.strptime(date_string, format):返回对应于date_string的datetime,根据format进行解析;
    datetime.min:可表示的最早datetime;
    datetime.min:可表示的最晚datetime;
    datetime.resolution:不相等的datetime对象之间的最小可能差值;
    datetime.year:返回当前时间对象的年份;
    datetime.month:返回当前时间对象的月份;
    datetime.day:返回当前时间对象的天数,1-30/31;
    datetime.hour:返回当前时间对象的小时;
    datetime.minute:返回当前时间对象的分钟;
    datetime.second:返回当前时间对象的秒数;
    datetime.microsecond:返回当前时间对象的微秒数;
# 对象方法
    datetime.date():返回具有相同年、月和日的date对象;
    datetime.time():返回具有相同小时、分钟、秒和微秒的time对象;
    datetime.timetz():返回具有相同小时、分钟、秒、微秒和tzinfo属性的time对象;
    datetime.replace([year[, month[, day[, hour[, minute[, second[, microsecond[, tzinfo]]]]]]]]):返回具有相同属性的 datetime,但通过任何关键字参数指定新值的那些属性除外;
    datetime.astimezone(tz=None):返回带有新tzinfo属性tz的datetime对象,调整日期和时间数据使结果与self 的UTC时间相同,但为tz的本地时间;
    datetime.timetuple():返回一个time.struct_time,类似time.localtime()的返回值;
    datetime.timestamp():返回对应于datetime实例的POSIX时间戳;
    datetime.weekday():返回一星期中的第几天,其中星期一是0,星期日是6;
    datetime.isoweekday():返回一星期中的第几天,其中星期一是1,星期日是7;
    datetime.isocalendar():返回一个3元组, (ISO year, ISO week number, ISO weekday);
    datetime.isoformat(sep='T'):返回以ISO 8601 格式YYYY-MM-DDTHH:MM:SS.mmmmmm表示日期和时间的字符串;
    datetime.ctime():返回一个表示日期和时间的字符串,例如datetime(2002, 12, 4, 20, 30, 40).ctime() == 'Wed Dec 4 20:30:40 2002';
    datetime.strftime(format):返回一个表示日期和时间的字符串,由显式的格式字符串控制;

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注