日期时间的处理在程序中是最常见的不过了,就拿我们头条来说,文章中显示的时间,几分钟前,几小时前都离不开日期时间的处理。那么在Python这门语言中,日期和时间的处理应该怎么来做呢?Python对于日期时间的处理提供了4个模块,分别是:time、datetime、calendar、locale。
1.time
这是一个仅包含日期和时间相关的函数和常量的模块。
2.datetime
采用面向对象的设计,该模块中定义日期和常处理的一些常用的类。
3.calendar
功能相对于前两个比较全面,同时包含日期和时间的类及函数,支持将日历映像生成为text,html等 ,这也是一个非常有用的功能。
4.locale
主要用于日期和时间的格式化,以及特定区域的日期和时间分析
了解了以上关于日期和时间的常用模块,下面将对日期和时间的常用处理方法进行说明,以满足日常应用程序开发的使用。
- 获取系统时间
如何获取当前的操作系统的时间,直接看代码:
import time currentTime = time.localtime() print(currentTime)
运行结果为:
time.struct_time(tm_year=2019, tm_mon=6, tm_mday=18, tm_hour=20, tm_min=54, tm_sec=45, tm_wday=1, tm_yday=169, tm_isdst=0)
正确的显示当前的系统时间,可是这个时间有点反人类啊(这是专业的结构化时间,只有“程序猿”懂的),怎么翻译成我们常规的时间呢,那么就引入了时间格化的概念。
- 获取格式化的时间
如何获取2019-06-18 21:03:35这样的时间呢,还是看代码:
formatTime=time.strftime('%Y-%m-%d %H:%M:%S',time.localtime()) print(formatTime)
运行结果为:
2019-06-18 21:03:35
格式化最重要的地方就在'%Y-%m-%d %H:%M:%S',如果要格式化为2019/06/18 12:03,则这个格式化的定义为:'%Y/%m/%d %H:%M'。
datetime同样可以日期进行格式化,以及获取当前的年月日等,有兴趣可以动手看看效果,下面将重点说明一下calendar 模块
- calendar
模块提供与日历相关的功能,包括为给定的月份或年份打印文本日历的功能。
默认情况下,日历将星期一作为一周的第一天,将星期日作为最后一天,首先来看看怎样输出2019年6月的日历:
curCar = calendar.month(2019,6 ) print ("2019年6月的日历为") print (curCar)
运行结果为:
2019年6月的日历为
可以看到calendar就是这么简单 ,不管理JAVA语言还是C语言要达到这种效果并不是那么容易。
calendar对于日历的处理异常强大,通过calendar还是可以实现以下功能:
1.setfirstweekday(firstweekday):指定一周的第一天,0是星期一,…,6为星期日
2.firstweekday():返回一周的第一天,0是星期一,…,6为星期日
calendar.setfirstweekday(firstweekday=6) print(calendar.firstweekday())
运行结果:
6
3.isleap(year):判断指定的年是否是闰年
print(calendar.isleap(2019)) print(calendar.isleap(2008))
运行结果为:
False True
4.prcal(year, w=0, l=0, c=6, m=3):打印一年的日历,w每个单元格宽度,默认0,内部已做处理,最小宽度为2,l每列换l行,默认为0,内部已做处理,至少换行1行,c表示月与月之间的间隔宽度,默认为6,内部已做处理,最小宽度为2,m表示将12个月分为m列:来看看怎么打印2019年的日历
calendar.setfirstweekday(firstweekday=6) calendar.prcal(2019, m=4)
运行结果:
不多说了就是这么强大,关于Calendar的强大这处就到这里了,可以多动手,看看不同的参数设置,输出不一样的日历效果。
持续学习是一种习惯,欢迎关注我们的头条号,继续学习后面的课程。
下一节 Python 基础入门18节-第六节 集合的基本使用方法