python有两个重要的时间模块,分别是time和datetime

先看time模块

表示时间的几种方法:

1)时间元组:time.struct_time(tm_year=2016,   tm_mon=7,    tm_mday=21,

tm_hour=22,       tm_min=32,    tm_sec=51,

tm_wday=3,       tm_yday=203, tm_isdst=0)
此元组有9个元素(年,月,日,时,分,秒,周几,年中第几天,是否夏令时)

2)时间戮:距离1970-01-01 00:00:00此时间的总秒数

3)格式化显示 (‘%Y-%m-%d %X')等等

4)英文显示   'Mon Jan 26 00:52:24 1970'
先看一time模块的方法

再看一下关系图:

举几个例子

先设一个时间元组,9个参数,最后3位可为0

t = (2016,7,21,22,47,45,0,0,0)

#给定时间求时间戮:
In [21]: time.mktime(t)
Out[21]: 1469112465.0 #求当前时间戮
In [23]: time.time()
Out[23]: 1469112643.2187786
#按指定格式显示时间
In [25]: time.strftime('%x %X',t)
Out[25]: '07/21/16 22:47:45'
#给定一个时间字符串,按给定格式拆分成数组 
In [26]: str='2016-04-23 12:34:54'
In [27]: time.strptime(str,'%Y-%m-%d %X')
Out[27]: time.struct_time(tm_year=2016, tm_mon=4, tm_mday=23, tm_hour=12, tm_min=34, tm_sec=54, tm_wday=5, tm_yday=114, tm_isdst=-1)
In [28]: #英文显示

In [29]: time.asctime(t)
Out[29]: 'Mon Jul 21 22:47:45 2016'

time.sleep(秒) 延时给定秒数

============================================================================================================

(二)datetime模块

此模块下有几个子模块:

date:处理年月日,

time:处理分秒时,微秒

datetime:处理年月日,时分秒,微秒,以此为主讲一讲

看一下datetime子模块下的方法,属性

datetime子模块也有个时间元组,是7个元素,可省略,省略的话默认为0

做了一个简单的说明图(图中有个小错误,时间元组是7个元素)

举几个例子:

In [32]: from datetime import datetime

In [33]: #获取当前时间

In [34]: datetime.now()
Out[34]: datetime.datetime(2016, 7, 21, 23, 12, 51, 572284) In [35]: datetime.today()
Out[35]: datetime.datetime(2016, 7, 21, 23, 13, 1, 458328) In [36]: #获取零时区时间 In [37]: datetime.utcnow()
Out[37]: datetime.datetime(2016, 7, 21, 15, 13, 40, 754435)
In [38]: #获取当前时间戮

In [39]: a=datetime.now()

In [40]: a.timestamp()
Out[40]: 1469114156.388418
In [42]: #设置一个时间对象

In [43]: d=datetime(2016,7,21,22,23,15)

In [44]: #自定义格式显示

In [45]: d.strftime('%x %X')
Out[45]: '07/21/16 22:23:15' In [46]: #显示英文格式 In [47]: d.ctime()
Out[47]: 'Thu Jul 21 22:23:15 2016' In [48]: #显示日历(年,年中第几周,周几) In [49]: d.isocalendar()
Out[49]: (2016, 29, 4)

datetime子模块单位时间间隔:datetime.resolution=1微秒。

date子模块的时间间隔为1天  date.resolution=1天

时间间隔乘以一个数,表示间隔几天

In [50]: from datetime import date

In [51]: #现在时间是

In [52]: date.today()
Out[52]: datetime.date(2016, 7, 21) In [53]: #100天以前的日期是 In [54]: date.today()-date.resolution*100
Out[54]: datetime.date(2016, 4, 12)

6个元素的时间元组可以转换成9个元素的时间元组,供time模块使用

In [56]: d
Out[56]: datetime.datetime(2016, 7, 21, 22, 23, 15) In [57]: d.timetuple()
Out[57]: time.struct_time(tm_year=2016, tm_mon=7, tm_mday=21, tm_hour=22, tm_min=23, tm_sec=15, tm_wday=3, tm_yday=203, tm_isdst=-1)

时间格式化:

%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 当前时区的名称
%% %号本身

python的时间模块的更多相关文章

  1. Python—day17时间模块、系统模块、递推遍历、序列化

    一.time'''时间戳(timestamp):time.time()延迟线程的运行:time.sleep(secs)(指定时间戳下的)当前时区时间:time.localtime([secs])(指定 ...

  2. 【转载】Python日期时间模块datetime详解与Python 日期时间的比较,计算实例代码

    本文转载自脚本之家,源网址为:https://www.jb51.net/article/147429.htm 一.Python中日期时间模块datetime介绍 (一).datetime模块中包含如下 ...

  3. 【13】python time时间模块知识点备查

    表示时间的三种形式 # 时间模块 '''UTC(世界协调时间):格林尼治天文时间,世界标准时间,在中国来说是UTC+8DST(夏令时):是一种节约能源而人为规定时间制度,在夏季调快1个小时 时间的表示 ...

  4. Python之时间模块、random模块、json与pickle模块

    一.时间模块 1.常用时间模块 import time # 时间分为三种格式 #1.时间戳---------------------以秒计算 # start= time.time() # time.s ...

  5. python(时间模块,序列化模块等)

    一.time模块 表示时间的三种方式: 时间戳:数字(计算机能认识的) 时间字符串:t='2012-12-12' 结构化时间:time.struct_time(tm_year=2017, tm_mon ...

  6. python time时间模块

    在Python中,通常有这三种方式来表示时间:时间戳.元组(struct_time).格式化的时间字符串 (1)时间戳(timestamp) :通常来说,时间戳表示的是从1970年1月1日00:00: ...

  7. Python基础-时间模块和radom模块

    时间模块 import time # 引入时间模块 print(time.time()) # 1508146954.9455004: 时间戳 print(time.clock()) # 计算CPU执行 ...

  8. Python的时间模块小结(转自:不懂真人)

    import datetimeprint time.time() #时间戳 print time.localtime(time.time()) #时间元组 print time.strftime('% ...

  9. python(29)----时间模块

    time模块 1. 三种时间表现形式 时间戳(timestamp) 格式化的时间字符串 元祖/结构化时间(struct_time) 2. 时间戳(timestamp) 通常来说,时间戳表示的是从197 ...

随机推荐

  1. 字符串:格式化 - 零基础入门学习Python015

    字符串:格式化 让编程改变世界 Change the world by program 字符串:格式化 上节课我们介绍了Python字符串的N多种奇葩方法的用法,但我们唯独漏了一个format()方法 ...

  2. 转载--http协议学习和总结

    http的了解一直停留在一知半解的程度,今天看到阿蜜果大大的博客,果断学习了,这里做个转载,希望阿蜜果大大不要怪罪~~ 3.1 Cookie和Session Cookie和Session都为了用来保存 ...

  3. IOS 保存图片至相册

    IOS 保存图片至相册   应用中有时我们会有保存图片的需求,如利用UIImagePickerController用IOS设备内置的相机拍照,或是有时我们在应用程序中利用UIKit的 UIGraphi ...

  4. Core Data入门-备用

    简介 Core Data是iOS5之后才出现的一个框架,它提供了对象-关系映射(ORM)的功能,即能够将OC对象转化成数据,保存在SQLite数据库文件中,也能够将保存在数据库中的数据还原成OC对象. ...

  5. 【经验】在CSS中定义a:link、a:visited、a:hover、a:active顺序

    摘自:http://www.qianyunlai.com/post-2.html     以前用CSS一直没有遇到过这个问题,在最近给一个本科同学做的项目里面.出现一些问题,搜索引擎查了一些网站和资料 ...

  6. PHP-FPM小故障解决记录

    前天昨天发生的事. 阿里云升级MYSQL,申请只读库之后,IP发生了改变,PHP中关于数据库的连接都需要修改. 我们是以实例名作为统一连接字符的. 但在其中一台后端机器上,死活不生效. 就是如何是用I ...

  7. LeetCode_Surrounded Regions

    Given a 2D board containing 'X' and 'O', capture all regions surrounded by 'X'. A region is captured ...

  8. C#.NET利用ContextBoundObject和Attribute实现AOP技术--AOP事务实现例子

    我前两天看见同事用写了用AOP技术实现缓存的方案,于是好奇看了一下这是怎么实现的.原来是用了.NET中的一个类ContextBoundObject和Attribute相关技术.其实个类在.NET Fr ...

  9. NavMeshAgent 动态加载障碍物

    如果你想让游戏人物绕开一些物体, 这些物体动态生成出来的.只需要给物体添加NavMeshObstacle组件即可 1. 绿色方块添加NavMeshObstacle组件 2. 红色方块没有添加NavMe ...

  10. 使用SqlCacheDependency依赖项让数据库变化后缓存失效

    SqlCacheDependency可以使缓存在数据库或者数据库某张表或者字段变化后让指定缓存失效.对于一些需要及时显示的信息比较有用. 需要.net2.0以后设sql server2005及以后版本 ...