• python time 模块


    Python中,通常有这几种方式来表示时间:

    1.时间戳(timestamp):通常来说,时间戳表示的是从1970年1月1日00:00:00开始按秒计算的偏移量。
    我们运行“type(time.time())”,返回的是float类型。

    2.格式化的时间字符串(Format String)

    3.结构化的时间(struct_time):struct_time元组共有9个元素共九个元素:(年,月,日,时,分,秒,
    一年中第几周,一年中第几天,夏令时)

    时间戳 浮点数形式
    >>> import time 
    
    >>> time.time()
    1513683626.272084

    python是1970年诞生  这个时间戳是python1970年诞生日 到现在 以小数显示时间

    >>> t = time.time()
    >>> t/3600/24/365
    47.998597763326607
    >>> 2017-1970 
     structime 是元祖格式
    返回本地时间 struct time 格式
    struct_time元组共有9个元素共九个元素:(年,月,日,时,分,秒,
    一年中第几周,一年中第几天,夏令时)
    print(time.localtime())
    
    time.struct_time(tm_year=2017, tm_mon=12, tm_mday=19, tm_hour=11, tm_min=49, tm_sec=14, tm_wday=1, tm_yday=353, tm_isdst=0)

     tm_wday 星期一到星期五   从0开始数起

     属性                            值
        tm_year(年)                  比如2017 
        tm_mon(月)                   1 - 12
        tm_mday(日)                  1 - 31
        tm_hour(时)                  0 - 23
        tm_min(分)                   0 - 59
        tm_sec(秒)                   0 - 61
        tm_wday(weekday)             0 - 6(0表示周日)
        tm_yday(一年中的第几天)        1 - 366
        tm_isdst(是否是夏令时)        默认为-1

    time.sleep() 秒为单位  程序静止多少秒

    time.gmtime()   UTC时区的struct_time

    >>> time.gmtime()
    time.struct_time(tm_year=2017, tm_mon=12, tm_mday=19, tm_hour=17, tm_min=26, tm_sec=49, tm_wday=1, tm_yday=353, tm_isdst=0)

    取里面元组的值

    >>> time.localtime()
    time.struct_time(tm_year=2017, tm_mon=12, tm_mday=20, tm_hour=1, tm_min=22, tm_sec=16, tm_wday=2, tm_yday=354, tm_isdst=0)
    
    >>> t = time.localtime()
    >>> 
    >>> 
    >>> t.tm_year
    2017
    >>> t.tm_mon
    12
    >>> t.tm_mday
    20
    >>> t.tm_hour
    1
    >>> t.tm_min
    33

    打印1970年的哪一天

    >>> t = time.localtime(1232131)
    >>> t
    time.struct_time(tm_year=1970, tm_mon=1, tm_mday=15, tm_hour=14, tm_min=15, tm_sec=31, tm_wday=3, tm_yday=15, tm_isdst=0)
    
    >>> print("this is 1970 day:%d"  %t.tm_yday)
    this is 1970 day:15
    time.mktime()  struct time元组格式 转成 时间戳格式
    >>> t
    time.struct_time(tm_year=1970, tm_mon=1, tm_mday=15, tm_hour=14, tm_min=15, tm_sec=31, tm_wday=3, tm_yday=15, tm_isdst=0)
    >>> 
    >>> time.mktime(t)
    1232131.0

    time.strftime(format[, tuple]) -> string  字符串格式,加上struct time元组  

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

    >>> time.strftime("%Y-%m-%d %H:%M",t)
    '1970-01-26 00:15'

    python中时间日期格式化符号:

    %a 星期的简写。如 星期三为Web 
    %A 星期的全写。如 星期三为Wednesday 
    %b 月份的简写。如4月份为Apr 
    %B月份的全写。如4月份为April 
    %c: 日期时间的字符串表示。(如: 04/07/10 10:43:39%d: 日在这个月中的天数(是这个月的第几天) 
    %f: 微秒(范围[0,999999]) 
    %H: 小时(24小时制,[0, 23]) 
    %I: 小时(12小时制,[0, 11]) 
    %j: 日在年中的天数 [001,366](是当年的第几天) 
    %m: 月份([01,12]) 
    %M: 分钟([00,59]) 
    %p: AM或者PM 
    %S: 秒(范围为[00,61],为什么不是[00, 59],参考python手册~_~%U: 周在当年的周数当年的第几周),星期天作为周的第一天 
    %w: 今天在这周的天数,范围为[0, 6],6表示星期天 
    %W: 周在当年的周数(是当年的第几周),星期一作为周的第一天 
    %x: 日期字符串(如:04/07/10%X: 时间字符串(如:10:43:39%y: 2个数字表示的年份 
    %Y: 4个数字表示的年份 
    %z: 与utc时间的间隔 (如果是本地时间,返回空字符串) 
    %Z: 时区名称(如果是本地时间,返回空字符串) 
    %%: %% => %

    time.strptime(string, format)  格式化的时间字符串转换成struct time元组

    参数是 格式化的时间字符串,格式

    >>> t = time.localtime()
    
    >>> t
    time.struct_time(tm_year=2017, tm_mon=12, tm_mday=20, tm_hour=11, tm_min=58, tm_
    sec=32, tm_wday=2, tm_yday=354, tm_isdst=0)
    
    >>> time.strftime("%Y-%m-%d %H:%M",t)
    '2017-12-20 11:58'
    
    >>> time.strptime("2017-12-20 11:58","%Y-%m-%d %H:%M")
    time.struct_time(tm_year=2017, tm_mon=12, tm_mday=20, tm_hour=11, tm_min=58, tm_
    sec=0, tm_wday=2, tm_yday=354, tm_isdst=-1)
    >>>

     

    time.asctime() 

    asctime([tuple]) -> string  

    如果不传递元组参数 默认打印本地时间

    >>> t = time.localtime(2313)
    
    >>> time.asctime(t)
    'Thu Jan  1 08:38:33 1970'
    >>> time.asctime()
    'Wed Dec 20 16:55:27 2017'

    time.ctime()

    ctime(时间戳) -> string

    如果不传递时间戳参数 默认打印本地时间

    >>> t = time.time()
    >>> t
    1513760447.9049652
    
    >>> t = time.time()
    
    >>> time.ctime(t)
    'Wed Dec 20 17:00:58 2017'

    时间格式转换图:

     

     

     
     
  • 相关阅读:
    SVN更新及如何解决冲突文件
    Eclipse如何删除多建的Tomcat服务器
    linux查看硬件配置命令
    【项目经验】navicat工具 SQLServer数据库迁移MySQL
    Oracle 中的 时间运算
    1001 数组中和等于K的数对
    1004 n^n的末位数字
    1182 完美字符串
    1283 最小周长
    1284 2 3 5 7的倍数
  • 原文地址:https://www.cnblogs.com/mingerlcm/p/8066039.html
Copyright © 2020-2023  润新知