#15 time&datetime&calendar模块
前言
从这一节开始,记录一些常用的内置模块,模块的学习可能比较无聊,但基础就在这无聊的模块中,话不多说,本节记录和时间相关的模块!
一、time模块
Python中设计时间的模块有很多,但是最常用的就是time模块了,先来看看time模块的所有方法:
In [3]: dir(time)
Out[3]:
['CLOCK_MONOTONIC', 'CLOCK_MONOTONIC_RAW', 'CLOCK_PROCESS_CPUTIME_ID', 'CLOCK_REALTIME', 'CLOCK_THREAD_CPUTIME_ID', '_STRUCT_TM_ITEMS', '__doc__', '__loader__', '__name__', '__package__', '__spec__', 'altzone', 'asctime', 'clock', 'clock_getres', 'clock_gettime', 'clock_settime', 'ctime', 'daylight', 'get_clock_info', 'gmtime', 'localtime', 'mktime', 'monotonic', 'perf_counter', 'process_time', 'sleep', 'strftime', 'strptime', 'struct_time', 'time', 'timezone', 'tzname','tzset']
方法还不少呢,一点一点来剖析它
1.获取时间
In [19]: time.time() #获取当前时间的时间戳
Out[19]: 1549343780.962011 In [20]: time.localtime() # 获取当地时间,返回当地时间下的时间元组,可是设置是否为夏令时,tm_isdst为夏令时
Out[20]: time.struct_time(tm_year=2019, tm_mon=2, tm_mday=5, tm_hour=13, tm_min=16, tm_sec=27, tm_wday=1, tm_yday=36, tm_isdst=0) In [21]: time.localtime(time.time()) # 参数接受为时间戳
Out[21]: time.struct_time(tm_year=2019, tm_mon=2, tm_mday=5, tm_hour=13, tm_min=16, tm_sec=39, tm_wday=1, tm_yday=36, tm_isdst=0) In [22]: time.asctime() # 获取格式化时间
Out[22]: 'Tue Feb 5 13:17:23 2019' In [23]: time.asctime(time.localtime()) # 参数为struct_time格式
Out[23]: 'Tue Feb 5 13:17:40 2019' In [24]: time.ctime() # 获取格式化时间,同上
Out[24]: 'Tue Feb 5 13:18:11 2019' In [25]: time.gmtime() # 同localtime,但返回格林威治天文时间下的时间元组
Out[25]: time.struct_time(tm_year=2019, tm_mon=2, tm_mday=5, tm_hour=5, tm_min=18, tm_sec=18, tm_wday=1, tm_yday=36, tm_isdst=0)
2.格式化日期
In [28]: time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()) # 格式化成 年-月-日 时:分:秒 形式
Out[28]: '2019-02-05 13:26:27'
In [29]: time.strftime("%a %b %d %H:%M:%S %Y", time.localtime()) # 格式化成周 月 日 时:分:秒 年 形式
Out[29]: 'Tue Feb 05 13:26:47 2019'
In [33]: time.gmtime(time.time()) # 将时间戳转换为struct_time格式
Out[33]: time.struct_time(tm_year=2019, tm_mon=2, tm_mday=5, tm_hour=5, tm_min=40, tm_sec=15, tm_wday=1, tm_yday=36, tm_isdst=0) In [34]: time.mktime(time.localtime()) # 将struct_time格式转换为时间戳
Out[34]: 1549345233.0
In [35]: time.strptime("2019/02/05","%Y/%m/%d") # 将格式化日期转换为struct_time格式
Out[35]: time.struct_time(tm_year=2019, tm_mon=2, tm_mday=5, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=1, tm_yday=36, tm_isdst=-1)
补充:time模块日期格式化符号
%y # 两位数的年份表示(00-99)
%Y # 四位数的年份表示(000-9999)
%m # 月份(01-12)
%d # 月内中的一天(0-31)
%H # 24小时制小时数(0-23)
%I # 12小时制小时数(01-12)
%M # 分钟数(00=59)
%S # 秒(00-59)
%a # 本地简化星期名称
%A # 本地完整星期名称
%b # 本地简化的月份名称
%B # 本地完整的月份名称
%c # 本地相应的日期表示和时间表示
%j # 年内的一天(001-366)
%p # 本地A.M.或P.M.的等价符
%U # 一年中的星期数(00-53)星期天为星期的开始
%w # 星期(0-6),星期天为星期的开始
%W # 一年中的星期数(00-53)星期一为星期的开始
%x # 本地相应的日期表示
%X # 本地相应的时间表示
%Z # 当前时区的名称
%% # %号本身
3.睡眠
In [36]: time.sleep(3) # 使用time.sleep(秒数)来达到睡眠
4.其他方法
In [37]: time.altzone # 返回格林威治西部的夏令时地区的偏移秒数。如果该地区在格林威治东部会返回负值(如西欧,包括英国)。对夏令时启用地区才能使用
Out[37]: -28800 In [38]: time.clock() # 以浮点数计算的秒数返回当前的CPU时间,用来衡量不同程序的耗时
Out[38]: 10.241939 In [39]: time.timezone # 当地时区(未启动夏令时)距离格林威治的偏移秒数(>0,美洲;<=0大部分欧洲,亚洲,非洲)
Out[39]: -28800 In [40]: time.tzname # 包含一对根据情况的不同而不同的字符串,分别是带夏令时的本地时区名称,和不带的
Out[40]: ('CST', 'CST')
二、datetime模块
datetime模块相比于time模块并不常用,但还是要了解它
In [42]: datetime.datetime.now() # 获取当前时间,直接返回格式化后的时间格式,比较人性化
Out[42]: datetime.datetime(2019, 2, 5, 13, 56, 28, 929415) In [43]: datetime.datetime.now() + datetime.timedelta(5) # 当前时间加5天,默认单位是天
Out[43]: datetime.datetime(2019, 2, 10, 14, 1, 14, 324972) In [44]: datetime.datetime.now() + datetime.timedelta(-5) # 当前时间减5天
Out[44]: datetime.datetime(2019, 1, 31, 14, 1, 21, 15534) In [45]: datetime.datetime.now() + datetime.timedelta(hours=5) # 当前时间加5小时
Out[45]: datetime.datetime(2019, 2, 5, 19, 1, 33, 334723) In [46]: datetime.datetime.now() + datetime.timedelta(minutes=5) # 当前时间加5分钟
Out[46]: datetime.datetime(2019, 2, 5, 14, 6, 46, 123465)
可以看到datetime模块常用来作日期的加减计算,这方面很有优势
三、calendar模块
In [9]: import calendar In [11]: print(calendar.calendar(2019)) # calendar.calendar(year,w=2,l=1,c=6),返回一个多行字符串格式的year年年历,3个月一行,间隔距离为c=6,每日宽度间隔为w=2字符,每行长度为21* W+18+2* C,l=1是每星期行数。
2019 January February March
Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su
1 2 3 4 5 6 1 2 3 1 2 3
7 8 9 10 11 12 13 4 5 6 7 8 9 10 4 5 6 7 8 9 10
14 15 16 17 18 19 20 11 12 13 14 15 16 17 11 12 13 14 15 16 17
21 22 23 24 25 26 27 18 19 20 21 22 23 24 18 19 20 21 22 23 24
28 29 30 31 25 26 27 28 25 26 27 28 29 30 31 April May June
Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su
1 2 3 4 5 6 7 1 2 3 4 5 1 2
8 9 10 11 12 13 14 6 7 8 9 10 11 12 3 4 5 6 7 8 9
15 16 17 18 19 20 21 13 14 15 16 17 18 19 10 11 12 13 14 15 16
22 23 24 25 26 27 28 20 21 22 23 24 25 26 17 18 19 20 21 22 23
29 30 27 28 29 30 31 24 25 26 27 28 29 30 July August September
Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su
1 2 3 4 5 6 7 1 2 3 4 1
8 9 10 11 12 13 14 5 6 7 8 9 10 11 2 3 4 5 6 7 8
15 16 17 18 19 20 21 12 13 14 15 16 17 18 9 10 11 12 13 14 15
22 23 24 25 26 27 28 19 20 21 22 23 24 25 16 17 18 19 20 21 22
29 30 31 26 27 28 29 30 31 23 24 25 26 27 28 29
30 October November December
Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su
1 2 3 4 5 6 1 2 3 1
7 8 9 10 11 12 13 4 5 6 7 8 9 10 2 3 4 5 6 7 8
14 15 16 17 18 19 20 11 12 13 14 15 16 17 9 10 11 12 13 14 15
21 22 23 24 25 26 27 18 19 20 21 22 23 24 16 17 18 19 20 21 22
28 29 30 31 25 26 27 28 29 30 23 24 25 26 27 28 29
30 31
In [12]: calendar.firstweekday() # 返回每周的第一天,0代表周一
Out[12]: 0 In [13]: calendar.isleap(2004) # 测试是否为闰月年
Out[13]: True In [14]: calendar.isleap(2019)
Out[14]: False In [15]: print(calendar.month(2019,1)) # calendar.month(year,month,w=2,l=1),返回一个多行字符串格式的year年month月日历,两行标题,一周一行,每日宽度间隔为w=2字符每行的长度为7* w+6,l=1是每星期的行数。
January 2019
Mo Tu We Th Fr Sa Su
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31
calendar掌握这么多就差不多了,如果需要查看其他方法,查看其帮助信息即可。
#15 time&datetime&calendar模块的更多相关文章
- python日期与日历Datetime和Calendar模块
datetime模块 1.1 概述 datetime比time高级了不少,可以理解为datetime基于time进行了封装,提供了更多的实用的函数,datetime的接口更加的直观,更容易调用 1.2 ...
- python 时间模块(time ,datetime,calendar)
Python中提供了时间相关的内置模块,我们主要用的是:time模块.datetime模块和calendar模块 ⽇期格式化的标准: %y 两位数的年份表示(00-99) %Y 四位数的年份表示(00 ...
- Python3之时间模块time & datetime & calendar
一. 简介 python 提供很多方式处理日期与时间,转换日期格式是一个常见的功能. 时间元组:很多python函数用一个元组装起来的9组数字处理时间. python中时间日期格式化符号: %y 两位 ...
- datetime模块+calendar模块
datetime: """ 模块中的类: datatime 同时有时间和日期 timedelta 主要用于计算时间的跨度 tzinfo 时区相关 time 只关注时间 d ...
- 第三十二节,datetime时间模块
首先要引入import datetime时间模块 datetime.date.today()模块函数 功能:输出系统年月日输出格式 2016-01-26[无参] 使用方法:datetime.date. ...
- calendar模块
calendar模块是个日历模块 1 判断是否是闰年 #!/urs/bin/evn python # -*- coding:utf-8 -*- import calendar print(calen ...
- calendar 模块
calendar模块,即日历模块,提供了对日期的一些操作方法,和生成日历的方法 注:星期一是默认的每周第一天,星期天是默认的最后一天.更改设置需调用calendar.setfirstweekday() ...
- 小白学 Python(22):time 和 calendar 模块简单使用
人生苦短,我选Python 前文传送门 小白学 Python(1):开篇 小白学 Python(2):基础数据类型(上) 小白学 Python(3):基础数据类型(下) 小白学 Python(4):变 ...
- python标准库-calendar 模块
原文地址:http://www.bugingcode.com/blog/python_calendar.html calendar 模块是python实现的unix 的 cal命令.它可以以标准的模式 ...
随机推荐
- ORA-12514: TNS:监听程序当前无法识别连接描述符中请
若Oracle出现“监听程序当前无法识别连接描述符中请求的服务”这个错误可以按照以下方法解决: 可以通过这个路径找到一个文本文件: oracle\product\10.2.0\db_1\NETWORK ...
- 软件推荐-有限元开发软件FELAC
首页:http://yuanjisuan.cn/ 有限元语言及其编译器(Finite Element Language And it’s Compiler),以下简称FELAC是中国科学院数学与系统科 ...
- Unity3D中播放视频的方法
播放视频其实和贴图非常相像,因为播放视频用到的 MovieTexture 属于贴图 Texture 的子类.Unity3D 支持的视频格式有很多,但是还是建议使用 ogv 格式的视频,使用其他格式依然 ...
- 05 IO和管道
目录 三种I/O设备 把I/O重定向至文件 使用管道 知识铺垫 1)查看fd-文件描述符 (L) ll /proc/$$/fd 在Linux中,系统打开文件时会随机分配一个编号 ...
- 分享Azure DevOps技术,来微信群吧!
现在QQ用户越来越少,基本上都转移到微信上了. 讨论问题,动不动就来一个微信群.下面这样几百人的微信群,专门讨论Azure DevOps (TFS)技术,你加入了么? 还等什么,扫描吧!
- 关于Android的Service知识点,你知道吗?
目录 学习Service相关知识点: 概述: Service生命周期: Service的基本用法: 服务. 问:达叔,今日工作累吗? 答:累啊,那么问你,你知道Android中的 Service(服务 ...
- [Swift]扩展UIImage :获取图片指定像素的颜色值
对[UIImage]进行扩展 import UIKit extension UIImage{ /** 根据坐标获取图片中的像素颜色值 */ subscript (x: Int, y: Int) -&g ...
- 微信开发-PC调试-JS-SDK功能之分享功能调试
一般涉及和第三方的开发调试,都会比较麻烦些.不过,像微信这样的大公司呢,产品技术是过硬的,所以,基本上只要自己把文档看仔细了,弄好了,基本就没有问题了. 对于后端接口一类的调试,主要就是通过打印访问日 ...
- Spring Boot 集成 Mybatis 实现双数据源
这里用到了Spring Boot + Mybatis + DynamicDataSource配置动态双数据源,可以动态切换数据源实现数据库的读写分离. 添加依赖 加入Mybatis启动器,这里添加了D ...
- web.xml简介
用于配置Web应用的相关信息,如:监听器(listener).过滤器(filter). Servlet.相关参数.会话超时时间.安全验证方式.错误页面等.例如: Servlet 3中的异步处理指的是什 ...