咱们能够经过学习在Python中对日期时间的处理,能够在快速的完成工做,好比:函数
在Python的程序可使用不少的方式处理日期和时间,转换日期格式是一个常见的功能。Python中提供了一个time和calender的模块能够用来作格式化日期和时间的。时间间隔都是以秒为单位的浮点小数。学习
在电脑中的时间都是由CPU储存,因此通常呢也叫作CPU时间, cpu时间是计算从1970年1月1日0点0分到目前这个时间点所经历的的秒数来表示,同时又能够称为时间戳。spa
1.time模块线程
1.1导入time模块3d
首先使用import导入time模块日志
1.2查看时间戳orm
使用time.time函数查看当前的时间戳为多少,time.time的做用是返回当前时间的时间戳进程
1.3返回当地时间rem
使用time.localtime函数,将当前时间戳返回为本地的时间,返回的参数有9个:字符串
序号属性字段值0Tm_year4位数年20081tm_mon月1-122tm_mday日1-313tm_hour小时0-234tm_min分钟0-595tm_sec秒0-61(60或61 是闰秒)6tm_wday一周的第几日0-6(0为周一)7tm_yday一年的第几日1-365(儒略历)8tm_isdst夏令时-1,0,1 -1是决定是否为夏令时的旗帜
能够经过这9个返回的参数判断当前的时间
1.4暂停代码运行时间
time.sleep暂停代码的运行时间,time.sleep函数的做用是推迟调用线程的运行,能够经过参数Secs指秒数,表示进程挂起的时间。
1.5计算时间点
函数time.clock是以浮点数计算的秒数返回当前的CPU时间。这个函数在不一样的系统上的含义也是不一样的, 在UNIX系统上,它返回的是"进程时间",它是用秒表示的浮点数(时间戳)。而在WINDOWS中,第一次调用,返回的是进程运行的实际时间。而第二次以后的调用是自第一次调用之后到如今的运行时间。(其实是以WIN32上QueryPerformanceCounter为基础,它比毫秒表示更为精确)
1.6获取格式化的时间
咱们能够根据需求选取各类格式,可是最简单的获取可读的时间模式的函数是asctime:
Time.asctime函数接受时间元组并返回一个可读的形式”5月7日,周天,13点20分26秒,2017年”的24个字符的字符串。参数是9个元素的元组或者经过函数Gmtime或localtime函数返回的时间值。
1.7格式化日期
经过time模块中strftime方法来格式化日期:
Time.strftime函数接收时间元组,并返回以可读字符串表示薪资的时间,格式的话由参数format决定。
1.8解析时间
Time.strptime(str,fmt=’%a %b %d %H:%M:%S %Y’)根据fromt的格式把一个时间字符串解析为时间元组。
在Python中有22个时间日期的格式化符号,经过这些符号就能够设置参数format了:
2.Calendar模块
Calendar模块是与日历相关的模块,但也有很普遍的方法来处理年历和月历,例如打印某月的月历:
使用claendar.month函数生成月份的日历。
在claendar模块中有12种函数,是比较经常使用的:
2.1 calendar.calendar(year,w=2,I=1,c=6,m=3)
返回一个多行字符串格式的year年年历,3个月为一行,间隔距离为c,每日宽度间隔为w字符,每行长度为21w+18+2c,i是每星期行数
2.2calendar.firstweekday
2.3calendar.isleap(year)
2.4calendar.leapdays(y1,y2)
2.5calendar.month(year,month,w=2,i=1)
返回一个多行字符串格式的year年month月日历,两行标题,一周一行。每日宽度间隔为w字符,每行的长度为7*w+6,I是每星期的行数。
2.6calendar.monthcalendar(year,month)
返回一个整数的单层嵌套列表,每一个子列表装载表明一个星期的整数,year年month月外的日期都设为0,范围内的日子都由该月第几日表示,从1开始。
2.7 calendar.monthrange(year,month)
返回两个整数,第一个是该月第一天是星期几的日期码,第二个是该月天数的日期码,天是从0(星期一)到6(星期日);月是从1-12。
2.8calendar.prcal(year,w=2,i=1,c=6)
至关因而print(calendar.calendar(year,w,I,c))
2.9calendar.prmonth(year,month,w=2,i=1)
至关于print(calendar.calendar(year,w,I,c))
2.10 calendar.setfirstweekday(weekday)
设置每周的起码日期码。0(星期一)到6(星期日)
2.11 calendar.timegm(tupletime)
和time.gmtime相反:接受一个时间元组形式,返回该时刻的时间戳(1970年后的浮点秒数)
2.12 calendar.weekday(year,month,day)
返回给定日期的日期码。0(周一)到6(周日),月份为1-12。
3.datetime模块
Datetime模块是Python处理日期和时间的标准库
3.1获取当前的日期
Datetime.now函数的做用是返回当前日期和时间,返回的类型是datetime
3.2获取指定日期和时间
若是要指定某个日期和时间呢,咱们直接用参数构造一个datetime也是可的:
经过datetime函数,直接输入年月日时分的参数,来构造一个指定的日期和时间
3.3datetime转换为timestamp
在计算机中,时间其实是用数字表示的,咱们把1970年1月1日,00:00:00 UTC+00;00时区的时刻成为epoch time,记为0(1970年以前的时间戳为负数),当前时间就是相对于Epoch time的秒数,能够成为timestamp。
能够理解为:
Timestamp = 0 = 1970-1-1 00:00:00 UTC+0:00
拓展知识UTC 和 Epoch time
UTC time,Coordinated Universal Time,世界标准时间又称为格林尼治时间,与UTCTime对应的是各个时区的localtime,东N区的时间比UTC时间早N个小时所以UTC+N小时,即为东N区的本地时间;而西N区时间比UTC时间玩N个小时,即UTC time – N小时即为西N区的本地时间;中国在东8区,所以比UTC时间早了八个小时,能够以UTC+8进行表示。
Epoch time表示时间开始的七点;是一个特定的时间,不一样平台上的时间点不一样,对于Unix而言,epoch time 为1970-01-01 00:00:00 UTC
首先转换为时间戳格式
将时间戳格式的时间转换为字符串日期时间
设置时间的格式
3.4 datetime加减
对于日期和时间进行加减实际上呢就是把日期时间datetime日后或者往前计算,获得新的日期时间datetime。加减能够直接运用+和-预算符,不过须要呢导入timedelta这个datetime模块下的类
在如今的时间加上10个小时的时间
在如今的时间上减去一天的时间
在如今的时间上加上2天12小时的时间