zoukankan      html  css  js  c++  java
  • python的时间处理-time模块

    time模块

    时间的表示方法有三种:

    • 时间戳:表示的是从1970年1月1日0点至今的秒数
    • 格式化字符串表示:这种表示更习惯我们通常的读法,如2018-04-24 00:00:00
    • 格式化元祖表示:是一个具有九个元素的元祖

    时间戳与格式元组的互相转换

    import time   #导入time模块
    
    d = time.time()  # 显示当前的时间戳
    
    d
    Out[16]: 1524570062.944023
    
    time.localtime(d)    #把时间戳转换为含9个元素的元组,转换为当地时间
    Out[17]: time.struct_time(tm_year=2018, tm_mon=4, tm_mday=24, tm_hour=19, tm_min=41, tm_sec=2, tm_wday=1, tm_yday=114, tm_isdst=0)
    
    time.gmtime(d)     #把时间戳转换为含9个元素的元组,转换为UTC时间
    Out[18]: time.struct_time(tm_year=2018, tm_mon=4, tm_mday=24, tm_hour=11, tm_min=41, tm_sec=2, tm_wday=1, tm_yday=114, tm_isdst=0)
    
    ld = time.localtime(d)  #
    
    ld.tm_year    #转换的元组,可以根据需要单独计算对应的时间
    Out[20]: 2018
    
    time.mktime(ld)  # 把元组在转换回时间戳
    Out[21]: 1524570062.0

    备注:UTC时间为格林威治时间,比东八区晚8个小时!

    时间戳与格式化字符串的转换:

    时间戳-------->格式化元组---------->格式化字符串

    help(time.strftime)
    Help on built-in function strftime in module time:
    
    strftime(...)
        strftime(format[, tuple]) -> string   #函数的格式使用
        
        Convert a time tuple to a string according to a format specification.
        See the library reference manual for formatting codes. When the time tuple
        is not present, current time as returned by localtime() is used.
        
        Commonly used format codes:
        
        %Y  Year with century as a decimal number. 
        %m  Month as a decimal number [01,12].
        %d  Day of the month as a decimal number [01,31].
        %H  Hour (24-hour clock) as a decimal number [00,23].
        %M  Minute as a decimal number [00,59].
        %S  Second as a decimal number [00,61].
        %z  Time zone offset from UTC.
        %a  Locale's abbreviated weekday name.
        %A  Locale's full weekday name.
        %b  Locale's abbreviated month name.
        %B  Locale's full month name.
        %c  Locale's appropriate date and time representation.
        %I  Hour (12-hour clock) as a decimal number [01,12].
        %p  Locale's equivalent of either AM or PM.
        
        Other codes may be available on your platform.  See documentation for
        the C library strftime function.
    ld   #格式化元组的数据
    Out[22]: time.struct_time(tm_year=2018, tm_mon=4, tm_mday=24, tm_hour=19, tm_min=41, tm_sec=2, tm_wday=1, tm_yday=114, tm_isdst=0)
    
    time.strftime("%Y-%m-%d %H:%M:%S", ld)
    Out[25]: '2018-04-24 19:41:02'
    
    time.strftime("%Y-%m-%d %X", ld)
    Out[26]: '2018-04-24 19:41:02'
    
    time.strftime("%Y-%m-%d %X %p", ld) #时间戳转换为格式化元组
    Out[27]: '2018-04-24 19:41:02 PM'
    
    #字符串转换为格式化元组,注意格式对应
    time.strptime('2018-04-24 19:41:02 PM',"%Y-%m-%d %H:%M:%S %p")
    Out[32]: time.struct_time(tm_year=2018, tm_mon=4, tm_mday=24, tm_hour=19, tm_min=41, tm_sec=2, tm_wday=1, tm_yday=114, tm_isdst=-1)

    根据时间戳转换为字符格式

    help(time.ctime)
    Help on built-in function ctime in module time:
    
    ctime(...)
        ctime(seconds) -> string
        
        Convert a time in seconds since the Epoch to a string in local time.
        This is equivalent to asctime(localtime(seconds)). When the time tuple is
        not present, current time as returned by localtime() is used.
    
    
    time.ctime(time.time())
    Out[34]: 'Tue Apr 24 20:02:46 2018'

    根据struct_time格式的元组转换为字符串

    help(time.asctime)
    Help on built-in function asctime in module time:
    
    asctime(...)
        asctime([tuple]) -> string
        
        Convert a time tuple to a string, e.g. 'Sat Jun 06 16:26:11 1998'.
        When the time tuple is not present, current time as returned by localtime()
        is used.
    
    
    time.asctime(ld)
    Out[36]: 'Tue Apr 24 19:41:02 2018'

    datetime模块

    dateimte模块对time模块进行了封装,提供了更多功能的接口:

    在csdn上看到一个博客,讲的蛮详细的,博主禁止转载,因此附上链接。datetime模块

  • 相关阅读:
    se 键盘鼠标操作事件
    警告框操作方法(alert弹窗)
    se自带截图方法
    CSS Selector 高级用法
    吃奶酪
    互不侵犯
    hdu1102
    P4744 Iron man
    玉米田
    状压dp题单
  • 原文地址:https://www.cnblogs.com/wxzhe/p/8933417.html
Copyright © 2011-2022 走看看