关于时间和日期模块
python程序能用很多方式处理日期和时间,转换日期格式是一种常见的功能.
python提供了一个time和calendar模块可以用于格式化日期和时间.
时间间隔是以秒为单位的浮点小数
每个时间戳都以自从1970年1月1日午夜(历元)经过了多长时间来表示.
python的time模块下有很多函数可以转换常见的日期格式
time 模块
名词解释
UTC : 格林威治天文时间,世界标准时间,在中国为UTC+8
DST : 夏令时是一种节约能源而人为规定的时间制度,在夏季调快一小时.
导入时间模块:
import time
time.time()
功能:获取当前时间戳,浮点数形式,不需要参数
time.gmtime(sec)
功能:将时间戳转为元组格式,转为格林尼治(UTC)时间
time.localtime(sec)
功能:获取本地时间的时间【元组】
time.asctime(t)
功能:将时间元组格式转为时间字符串,国外的表示方式。
time.ctime(time1)
功能:将时间戳转为时间字符串。
time.strftime("%Y-%m-%d %H:%M:%S",lt)
功能:将元组格式化为指定的时间字符串的格式。
time.strptime(strt2,"%Y-%m-%d %X")
功能:将时间字符串格式化为时间元组
time.mktime(t1)
功能:将时间元组转为时间戳
time.sleep(1)
功能:休眠,单位s
time.clock()
功能:以浮点数的方式计算当前cpu的耗时,通常情况下成对使用。
时间戳–》时间元组–》时间字符串
时间字符串–》时间元组–》时间戳
year:年
mon:月
mday:日
hour:时
min:分
sec:秒
%a 本地(locale)简化星期名称
%A 本地完整星期名称
%b 本地简化月份名称
%B 本地完整月份名称
%c 本地相应的日期和时间表示
%d 一个月中的第几天(01 - 31)
%H 一天中的第几个小时(24小时制,00 - 23)
%I 第几个小时(12小时制,01 - 12)
%j 一年中的第几天(001 - 366)
%m 月份(01 - 12)
%M 分钟数(00 - 59)
%p 本地am或者pm的相应符
%S 秒(01 - 61)
%U 一年中的星期数。(00 - 53星期天是一个星期的开始。)第一个星期天之前的所有天数都放在第0周。
%w 一个星期中的第几天(0 - 6,0是星期天)
%W 和%U基本相同,不同的是%W以星期一为一个星期的开始。
%x 本地相应日期
%X 本地相应时间
%y 去掉世纪的年份(00 - 99)
%Y 完整的年份
%Z 时区的名字(如果不存在为空字符)
%% ‘%'字符
datetime模块
导入datetime模块:
import datetime
作用:获取系统当前时间
datetime.now()
功能:获取当前系统时间,返回datetime类型
datetime(year,mon,day,hour,min,sec)
功能:将指定的时间转为datetime对象
dt.strftime("%Y-%m-%d %X")
功能:将datetime对象格式化为时间字符串
dtime = dt-dt2
功能:两个datetime对象相减返回一个时间间隔对象
dtime.days
两个时间相隔的天数
dtime.seconds
除天数之外剩余的秒数
Calendar 模块
calendar模块有很广泛的方法用来处理年历和月历
导入:import calendar
calendar.calendar(year)
功能:返回指定年份的日历(以字符串的形式)
calendar.month(year,mon)
功能:返回指定月份的日历(以字符串的形式)
calendar.isleap(year)
功能:判断指定年份是否为闰年,若是则返回True,否则返回False
calendar.leapdays(year1,year2)
功能:返回[year1,year2)中闰年的个数
calendar.monthrange(year,mon)
功能:返回该月第一天的星期码与该月的天数,以元组的形式返回。
calendar.monthcalendar(year,mon)
功能:返回某月以每一周为元素的序列,若这天没有则使用0来进行占位
calendar.weekday(year,mon,day)
功能:返回指定日期的星期码
面向对象
面向对象的设计思想:
面向对象是基于万物皆对象这个哲学观点。
面向对象与面向过程的区别与联系:
1.都是看待问题的一种思维方式,都能解决问题
2.面向对象着眼于找到一个具有特殊功能的对象,
委托这个对象实现你所需要实现的功能。
3.面向过程着眼于问题的细节,所有的事情亲力亲为。
类与对象是面向对象的核心
类:一个具有特殊功能实体的集合
对象:在一个类中,一个具有特殊功能的实体,能够帮忙解决特定的问题,
对象通常情况下我们也称之为实例
类与对象的关系:类是描述某一对象的共同特征,而对象是类的具体体现。
1.类是对象的抽象,对象是类的具体体现
2.自己定义类也是一种数据类型类似str,list,类本身并不占用内存,
占用内存的是实例化出来的对象。
例如:
快递 —>类
顺丰/圆通 —> 对象
主食 —> 类
面条/馒头/米饭 —> 对象
类的定义:
class 类名():
类体
class: 在python中使用class关键字来定义类
类名:遵循标识符的命名规则【驼峰式命名】
() 可以省略也可以写成(object)
冒号: 标识类体的开始,不能省。
尽量使用单个或者多个有意义的单词链接而成
驼峰式命名:
大驼峰:每个单词首字母都大写,我们称之为大驼峰,
一般给类来进行命名
小驼峰:第一个单词首字母小写,其他单词首字母大写,
一般用于变量以及函数命名
类的设计
设计一个类只需关心三件事:
1.事物的名称【类名】,人类
2.事物的特征【属性/类变量】,身高,体重,年龄,性别,姓名【名词】
3.事物的行为【函数】,吃饭,睡觉,说话【动词】
实例化对象语法:
对象名 = 类名()
析构函数
格式:
def __init__(self):
pass
系统定义的函数,当实例化对象的时候会自动的调用此函数。
无需自己手动调用。
此方法一般用于初始化我们的对象。
初始化对象的时候,我们需要将值绑定在self身上。【self就是我们实例化的对象】
调用类中变量以及类中的方法:
对象名.变量名
对象名.方法名(参数列表)