时间模块

python 中时间表示方法有:时间戳,即从1975年1月1日00:00:00到现在的秒数;格式化后的时间字符串;时间struct_time 元组。
struct_time元组中元素主要包括tm_year(年)、tm_mon(月)、tm_mday(日)、tm_hour(时)、tm_min(分)、tm_sec(秒)、tm_wday(weekday0 - 6(0表示周日))、tm_yday(一年中的第几天1 - 366)、tm_isdst(是否是夏令时)

1. time

  • 常用函数

    • time.time() 返回当前时间戳
    >>> time.time()
    1465370844.096474
    • time.ctime() 返回这种格式的时间字符'Wed Jun 8 15:27:48 2016',显示当前时间.同时也可以转换时间戳
    >>> time.ctime()
    'Wed Jun 8 15:27:48 2016' >>> time.ctime(time.time()-86400)
    'Tue Jun 7 15:29:36 2016'
    • time.gmtime 将时间戳转换成struct_time格式,此显示的是格林威治0时区的时间
    >>> time.gmtime()
    time.struct_time(tm_year=2016, tm_mon=6, tm_mday=8, tm_hour=7, tm_min=34, tm_sec=28, tm_wday=2, tm_yday=160, tm_isdst=0) >>> time.gmtime(time.time() - 86400)
    time.struct_time(tm_year=2016, tm_mon=6, tm_mday=7, tm_hour=7, tm_min=34, tm_sec=41, tm_wday=1, tm_yday=159, tm_isdst=0)
    • time.localtime 将当前系统时间戳转化为struct_time格式

      >>> time.localtime()
      time.struct_time(tm_year=2016, tm_mon=6, tm_mday=8, tm_hour=15, tm_min=35, tm_sec=33, tm_wday=2, tm_yday=160, tm_isdst=0) >>> time.localtime(time.time() - 86400)
      time.struct_time(tm_year=2016, tm_mon=6, tm_mday=7, tm_hour=15, tm_min=37, tm_sec=10, tm_wday=1, tm_yday=159, tm_isdst=0)
    • time.mktime 将struct_time格式转回成时间戳
    >>> now = time.localtime()
    >>> now
    time.struct_time(tm_year=2016, tm_mon=6, tm_mday=8, tm_hour=15, tm_min=38, tm_sec=28, tm_wday=2, tm_yday=160, tm_isdst=0)
    >>> time.mktime(now)
    1465371508.0
    • time.strftime 将struct_time格式转成指定的字符串格式
    >>> now = time.localtime()
    >>> now
    time.struct_time(tm_year=2016, tm_mon=6, tm_mday=8, tm_hour=15, tm_min=38, tm_sec=28, tm_wday=2, tm_yday=160, tm_isdst=0)
    >>> last = time.localtime(time.time() - 86400)
    >>> last
    time.struct_time(tm_year=2016, tm_mon=6, tm_mday=7, tm_hour=15, tm_min=40, tm_sec=23, tm_wday=1, tm_yday=159, tm_isdst=0)
    >>> time.strftime("%Y-%m-%d %H:%M:%S",last)
    '2016-06-07 15:40:23'
    >>> time.strftime("%Y-%m-%d %H:%M:%S",now)
    '2016-06-08 15:38:28'
    • time.strptime 将自定义时间格式的字符串转换为struct_time格式
    >>> time.strptime("2016-06-08","%Y-%m-%d")
    time.struct_time(tm_year=2016, tm_mon=6, tm_mday=8, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=2, tm_yday=160, tm_isdst=-1)
    >>> time.strptime("2016-06-08 15:50:44","%Y-%m-%d %H:%M:%S")
    time.struct_time(tm_year=2016, tm_mon=6, tm_mday=8, tm_hour=15, tm_min=50, tm_sec=44, tm_wday=2, tm_yday=160, tm_isdst=-1)
    • time.sleep 暂停时间,类似于shell的sleep()
  • 其他

    • 时间格式:
    格式 说明
    %a 显示简化星期名称
    %A 显示完整星期名称
    %b 显示简化月份名称
    %B 显示完整月份名称
    %c 本地相应的日期和时间表示
    %d 显示当月第几天
    %H 按24小时制显示小时
    %I 按12小时制显示小时
    %j 显示当年第几天
    %m 显示月份
    %M 显示分钟数)
    %p 本地am或者pm的相应符
    %S 显示秒数)
    %U 一年中的星期数
    %w 显示在星期中的第几天,默认从0开始表示周一
    %W 和%U基本相同
    %x 本地相应日期
    %X 本地相应时间
    %y 去掉世纪的年份(00 - 99)
    %Y 完整的年份
    %Z 时区的名字(如果不存在为空字符)
    %% ‘%’字符
    • 时间函数之间转换关系

2. datetime

datime是time的升级版,可以对date(日期)、time(时间)、datetime(日期时间)等三种单独管理。主要是由下面四个类组成

  • datetime.datetime常用函数(datetime.date datetime.time通用)
#datetime.datetime.today() 默认返回当前日期和时间的对象,也可以自定义日期和时间

    >>> today = datetime.datetime.today()
>>> print(today)
2016-06-08 16:34:08.163371
>>> last = datetime.datetime(2016,5,8,11,23,55) #注意此处表示日期只能是实际月份,不能带0
>>> print(last)
2016-05-08 11:23:55 >>>last = datetime.datetime(2016,05,08,11,23,55)
File "<stdin>", line 1
last = datetime.datetime(2016,05,08,11,23,55)
^
SyntaxError: invalid token #datetime.datetime.now() 返回当前时间
>>> datetime.datetime.now()
datetime.datetime(2016, 6, 8, 16, 44, 29, 694398) # datetime.strftime(format) #自定义格式化时间
>>> today.strftime("%I:%M:%S %p %d/%m/%Y")
'04:34:08 PM 08/06/2016'

# datetime.datetime.timple() 将时间转换为struct_time 格式
>>>today.timetuple()
time.struct_time(tm_year=2016, tm_mon=6, tm_mday=8, tm_hour=16, tm_min=34, tm_sec=8, tm_wday=2, tm_yday=160, tm_isdst=-1) #datetime.replace()返回一个替换后的date对象
>>>last = today.replace(1949,10,1)
>>> print(last)
1949-10-01 16:34:08.163371
>>> last = today.replace(year=1919,month=3,day=2)
>>> print(last)
1919-03-02 16:34:08.163371 # datetime.datetime.strptime 将字符串转换为日志格式对象
>>> a = "2016-06-08 17:18:19"
>>> b = datetime.datetime.strptime(a,"%Y-%m-%d %H:%M:%S")
>>> print(a)
2016-06-08 17:18:19
>>> print(b)
2016-06-08 17:18:19
>>> print(type(a))
<class 'str'>
>>> print(type(b))
<class 'datetime.datetime'>
  • datetime.timedelta 时间运算

可用参数:days seconds microseconds milliseconds minutes hours weeks

today = datetime.datetime.now()
>>> print(today)
2016-06-08 16:51:31.698122
>>> yesterday = today - datetime.timedelta(days=1)
>>> print(yesterday)
2016-06-07 16:51:31.698122
>>> last_hour = today - datetime.timedelta(hours=1)
>>> print(last_hour)
2016-06-08 15:51:31.698122

python时间模块-time和datetime的更多相关文章

  1. python时间模块time,datetime

    时间模块time.datetime 模块(module)是 Python 中非常重要的东西,你可以把它理解为 Python 的扩展工具.换言之,Python 默认情况下提供了一些可用的东西,但是这些默 ...

  2. python 时间模块time,datetime详细介绍

    模块(module)是 Python 中非常重要的东西,你可以把它理解为 Python 的扩展工具.换言之,Python 默认情况下提供了一些可用的东西,但是这些默认情况下提供的还远远不能满足编程实践 ...

  3. python 时间模块time,datetime

    模块(module)是 Python 中非常重要的东西,你可以把它理解为 Python 的扩展工具.换言之,Python 默认情况下提供了一些可用的东西,但是这些默认情况下提供的还远远不能满足编程实践 ...

  4. Python常用模块-时间模块(time&datetime)

    Python常用模块-时间模块(time & datetime) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.初始time模块 #!/usr/bin/env pyth ...

  5. 浅谈Python时间模块

    浅谈Python时间模块 今天简单总结了一下Python处理时间和日期方面的模块,主要就是datetime.time.calendar三个模块的使用.希望这篇文章对于学习Python的朋友们有所帮助 ...

  6. python常用模块之time&datetime模块

    python常用模块之time&datetime模块 在平常的代码中,我们经常要与时间打交道.在python中,与时间处理有关的模块就包括:time和datetime,下面分别来介绍: 在开始 ...

  7. python内建时间模块 time和datetime

    时间模块 UTC(Coordinated Universal Time,世界协调时)亦即格林威治天文时间,世界标准时间.在中国为UTC+8.DST(Daylight Saving Time)即夏令时. ...

  8. Python时间模块datetime用法

    时间模块datetime是python内置模块,datetime是Python处理日期和时间的标准库. 1,导入时间模块 from datetime import datetime 2,实例 from ...

  9. python常用标准库(时间模块 time和datetime)

    常用的标准库 time时间模块 import time time -- 获取本地时间戳 时间戳又被称之为是Unix时间戳,原本是在Unix系统中的计时工具. 它的含义是从1970年1月1日(UTC/G ...

随机推荐

  1. SQLServer(MSSQL)、MySQL、SQLite、Access相互迁移转换工具 DB2DB v1.4

    最近公司有一个项目,需要把原来的系统从 MSSQL 升迁到阿里云RDS(MySQL)上面.为便于测试,所以需要把原来系统的所有数据表以及测试数据转换到 MySQL 上面.在百度上找了很多方法,有通过微 ...

  2. 基于DDD的.NET开发框架 - ABP依赖注入

    返回ABP系列 ABP是“ASP.NET Boilerplate Project (ASP.NET样板项目)”的简称. ASP.NET Boilerplate是一个用最佳实践和流行技术开发现代WEB应 ...

  3. async 更优雅异步体验

    上一篇<让 Generator 自启动>介绍了通过起动器让 Generator 跑起来,而本篇采用 async 实现更优雅的异步编程. 从例子开始 借用上一篇例子中的例子说起. funct ...

  4. linux命令行安装使用KVM

    一.说明 本篇文章介绍的是基于centos环境来安装的,ip地址192.168.4.233 二.检查CPU是否支持虚拟技术 egrep 'vmx|svm' /proc/cpuinfo 如果有输出内容表 ...

  5. [C#解惑] #2 对象的初始化顺序

    谜题 在上一篇C#解惑中,我们提到了对象的初始化顺序.当我们创建一个子类的实例时,总是会先执行基类的构造函数,然后再执行子类的构造函数.那么实例字段是什么时候初始化的呢?静态构造函数和静态字段呢?今天 ...

  6. BGP--边界网关协议

    要全面了解BGP,首先我们要回答以下看上去很简单的问题:为什么需要BGP,也就是说BGP是如何产生的,它解决了什么问题.带着以上问题,我们先简单的回顾一个路由协议发展的轨迹. 首先路由的实质是描述一个 ...

  7. JPEG文件格式介绍

    JPEG文件的存储格式有很多种,但最常用的是JFIF格式,即JPEG File Interchange Format.JPEG文件大体可以分为两个部分: (1)标记码:由两个字节构成,其中,前一个字节 ...

  8. 【Spring3.0系列】---Bean不同配置方式比较 和适用场合

    Bean不同配置方式比较1.基于XML配置定义:在XML文件中通过<bean>元素定义Bean,例如<bean class="com.bbt.UserDao"/& ...

  9. js对象学习

    1. 属性类型 数据属性 ①Configurable 表示能否通过delete删除属性,默认值true ②Enumerable 表示能否通过for-in循环访问属性,默认值true ③Writable ...

  10. Ceph Zabbix plugin 插件和模板

    由于Ceph项目中的 Celemeter 缺乏告警功能和监控平台的统一性要求, YY 云平台Ceph集群的监控需求,都是在团队已有的zabbix平台基础上开发完成的. 在已有的git开源项目基础上做了 ...