时间模块

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. 金山快盘+TortoiseSVN构建版本控制仓库

    金山会盘+TortoiseSVN构建版本控制仓库 之前写过一篇文章介绍 如何利用花生壳和VisualSVN Server建立远程代码仓库,具体请参照: <如何利用花生壳和VisualSVN Se ...

  2. php json 格式控制

    本文同步至我的个人博客:http://www.52cik.com/2015/12/23/php-json-format.html 关于 json 这个问题,陆陆续续有新手朋友找我问,比如为什么我输出的 ...

  3. redis/分布式文件存储系统/数据库 存储session,解决负载均衡集群中session不一致问题

    先来说下session和cookie的异同 session和cookie不仅仅是一个存放在服务器端,一个存放在客户端那么笼统 session虽然存放在服务器端,但是也需要和客户端相互匹配,试想一个浏览 ...

  4. Castle 多继承选择

    Castle 多继承选择 很多时候,我们定义了一个接口,但是这个接口会有多种不同的,这时IOC构造函数注入的时候,就需要自动选择对应的实现. public interface ITestService ...

  5. matlab 功率谱分析

    matlab 功率谱分析 1.直接法:直接法又称周期图法,它是把随机序列x(n)的N个观测数据视为一能量有限的序列,直接计算x(n)的离散傅立叶变换,得X(k),然后再取其幅值的平方,并除以N,作为序 ...

  6. Cadence Allegro元件封装制作流程

    (本文为转载,原文出处不详) 引言 一个元件封装的制作过程如下图所示.简单来说,首先用户需要制作自己的焊盘库Pads,包括普通焊盘形状Shape Symbol和花焊盘形状Flash Symbol:然后 ...

  7. java发送邮件

    1.需要用到javax.mail怎么下载呢?百度javax.mail就会看见http://www.oracle.com/technetwork/java/index-138643.html实际上这个项 ...

  8. 软件工程(FZU2015)增补作业

    说明 张老师为FZU软件工程2015班级添加了一次增补作业,总分10分,deadline是2016/01/01-2016/01/03 前11次正式作业和练习的迭代评分见:http://www.cnbl ...

  9. PHPStorm2016如何安装主题

    今天放出如何安装phpstorm 主题教程,教程如下: 下载主题 地址:phpstoorm-themes.com 安装主题 PhpStorm and WebStorm themes can be in ...

  10. fio 2种画图方法 fio_generate_plots 和 gfio

    fio 安装fio apt-get install fio 可以把fio的输出数据自动画图的插件gnuplot apt-get install gnuplot 1.输出bw,lat和iops数据并画图 ...