zoukankan      html  css  js  c++  java
  • Python time模块学习

    转自

    time模块提供了一些用于管理时间和日期的C库函数,由于它绑定到底层C实现,因此一些细节会基于具体的平台。

    一.壁挂钟时间
    1.time()

    time模块的核心函数time(),它返回纪元开始的秒数,返回值为浮点数,具体精度依赖于平台。

    >>>import time
    >>>time.time()
    1460599046.85416
    2.ctime()

    浮点数一般用于存储和比较日期,但是对人类不友好,要记录和打印时间,可以使用ctime()。

    >>>import time
    >>>time.ctime()
    'Thu Apr 14 10:03:58 2016'
    >>> later = time.time()+5
    >>> time.ctime(later)
    'Thu Apr 14 10:05:57 2016'
    二.处理器时钟时间

    clock()返回处理器时钟时间,它的返回值一般用于性能测试与基准测试。因此它们反映了程序的实际运行时间。

    >>>import time
    >>>time.clock()
    0.07
    三.时间组成

    time模块定义了struct_time来维护时间和日期,其中分开存储各个组成部分,以便访问。

    import time
    def show_struct(s):
          print 'tm_year:", s.tm_year
          print 'tm_mon:", s.tm_mon
          print "tm_mday:", s.tm_mday
          print "tm_hour:",s.tm_hour
          print "tm_min:", s.tm_min
          print "tm_sec:", s.tm_sec
          print "tm_wday:", s.tm_wday
          print "tm_yday:", s.tm_yday
    show_struct(time.gmtime())
    show_struct(time.localtime())

    gmtime()用于获取UTC时间,localtime()用于获取当前时区的当前时间,UTC时间实际就是格林尼治时间,它与中国时间的时差为八个小时。

    locatime() = gmtime() + 8hour
    四.处理时区
    1.获取时间差
    >>>import time
    >>>time.timezone/3600
    -8
    2.设置时区
    ZONES = ["GMT", "EUROPE/Amsterdam']
    for zone in ZONES:
          os.environ["TZ"] = zone
          time.tzset()
    五.解析和格式化时间

    time模块提供了两个函数strptime()和strftime(),可以在struct_time和时间值字符串之间转换。

    1.strptime()

    用于将字符串时间转换成struct_time格式:

    >>> now=time.ctime()
    >>> time.strptime(now)
    time.struct_time(tm_year=2016, tm_mon=4, tm_mday=14, tm_hour=10, tm_min=48, tm_sec=40, tm_wday=3, tm_yday=105, tm_isdst=-1)
    2.strftime()

    用于时间的格式化输出

    >>> from time import gmtime, strftime
    >>> strftime("%a, %d %b %Y %H:%M:%S +0000", gmtime())
    'Thu, 28 Jun 2001 14:17:15 +0000'
    3.mktime()

    用于将struct_time转换成时间的浮点数表示

    >>>from time import mktime, gmtime
    >>>mktime(gmtime())
    1460573789.0
    六.sleep()

    sleep函数用于将当前线程交出,要求它等待系统将其再次唤醒,如果写程序只有一个线程,这实际上就会阻塞进程,什么也不做。

  • 相关阅读:
    Spiral Matrix II
    N-Queens
    Jump Game II
    js改变div高度
    Jenkins + testNg + maven 项目持续集成
    bootstrap做的导航
    bootstrap左侧边栏
    WEB-INF下jsp跳转
    jsp页面无法解析EL表达式
    springMVC和mybatis整合,jsp对时间进行格式化
  • 原文地址:https://www.cnblogs.com/chjbbs/p/5655355.html
Copyright © 2011-2022 走看看