zoukankan      html  css  js  c++  java
  • Python中time和datetime模块的简单用法

    python中与时间相关的一个模块是time模块,datetime模块可以看为是time模块的高级封装。

    time模块中经常用到的有一下几个方法:

    1. time()

      用来获取时间戳,表示的结果为从1970年1月1日开始计算到现在时间之间的秒数。如:
      time.time()
      输出:1507727656.9446979  #今天是2017/10/11 21:15:00
    2. localtime()

      获取当前时间信息。包含年月日时分秒等等。返回结果以元组的形式返回。如:
      time.localtime()
      输出:time.struct_time(tm_year=2017, tm_mon=10, tm_mday=11, tm_hour=21, tm_min=14, tm_sec=16, tm_wday=2, tm_yday=284, tm_isdst=0)
      将时间戳转换为日期格式:
      time.strftime("%Y-%m-%d %H:%M:%S", time.localtime(1521879629))  #当地时间
      time.strftime("%Y-%m-%d %H:%M:%S", time.gmtime(1521879629))  #标准时间
    3. strftime()

      它可以将localtime()中获取的时间元组转换为自定义的日期时间格式进行。如:
      time.strftime("%Y-%m-%d %H:%M:%S",struct_local_time)
      输出:2017-10-10/11/17 21:14:16
      其中%Y-%m-%D %H:%M:%S即为自定义的日期时间格式,字母有一下的含义:

      %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     时区的名字(如果不存在为空字符)
      %%    ‘%’字符

    4. gmtime()

      可以将时间秒转换为日期时间,此时日期和时间表示的是标准时间,北京时间为标准时间加上8个小时。不传入参数代表当前时间即转换time()函数的结果。如:
      time.gmtime()
      输出:time.struct_time(tm_year=2017, tm_mon=10, tm_mday=11, tm_hour=13, tm_min=34, tm_sec=13, tm_wday=2, tm_yday=284, tm_isdst=0)
      当传入参数时。如:
      time.gmtime(1403127843)
      输出:time.struct_time(tm_year=2014, tm_mon=6, tm_mday=18, tm_hour=21, tm_min=44, tm_sec=3, tm_wday=2, tm_yday=169, tm_isdst=0)
    5. asctime()和ctime()

      两个都会返回固定格式的当前日期和时间(Wed Oct 11 21:35:28 2017),但两个接收的参数不同。
      asctime()接收的是元组格式的日期时间,而ctime()接收的是秒。然后都返回本地的格式化后的日期时间。如:
      ctime(1403127843)
      输出:Thu Jun 19 05:44:03 2014
      asctime(time.localtime())
      输出:Wed Oct 11 21:42:56 2017
      当两个方法都不传入参数,返回的都为当前日期和时间:如:

      Wed Oct 11 21:45:42 2017
      Wed Oct 11 21:45:42 2017

    6. mktime()

      将元组形式的日期时间转换为秒的形式。必须有参数!如:
      mktime(time.gmtime())    #time.gmtime()返回的为元组形式的标准时间。
      输出:1507700832.0

    关于datetime模块,使用的时候建议仅使用当中的now()方法。如:

    1. datetime.datetime.now()

      输出:2017-10-13 10:12:17.174169
    2. timedelta()

      timedelta 方法必须与其他方法配合使用,不能单独存在。参数有不同的形式。如:
      datetime.datetime.now()+datetime.timedelta(3)
      输出:2017-10-16 10:12:17.174169    #表示今天向后推3天,也可以为负数,表示向前推几天
    3. 此外还有另外的参数形式。如:

      datetime.datetime.now()+datetime.timedelta(minutes=20)
      输出:2017-10-13 10:32:17.174169    #表示现在的20分钟后
      datetime.datetime.now()+datetime.timedelta(minutes=20,hours=2)
      输出:2017-10-13 12:32:17.174669    #小时和分钟向后推
  • 相关阅读:
    STL中set求交集、并集、差集的方法
    Vijos 1308 埃及分数(迭代加深搜索)
    POJ 1161 Walls(Floyd , 建图)
    UVa 1601 万圣节后的早晨
    dp之完全背包
    dp之取数字问题
    dp之最长公共子序列
    枚举排列
    poj 3187 暴力枚举
    poj 2431 优先队列,贪心
  • 原文地址:https://www.cnblogs.com/xsmile/p/7653081.html
Copyright © 2011-2022 走看看