• time模块


    在Python中,用三种方式来表示时间,分别是时间戳、格式化时间字符串结构化时间

     

    获取时间戳:
    time.time() ====>如1506388236.216345

     

    获取格式化时间字符串(str f time):
    time.strftime('%Y-%m-%d %H:%M:%S') ====>如2017-09-26 09:12:48

    注意其中的空格、短横线和冒号都是美观修饰符号,真正起控制作用的是百分符。对于格式化控制字符串"%Y-%m-%d %H:%M:%S,其中每一个字母所代表的意思如下表所示,注意大小写的区别:

    格式 含义
    %a 本地星期名称的简写(如星期四为Thu)
    %A 本地星期名称的全称(如星期四为Thursday)
    %b 本地月份名称的简写(如八月份为agu)
    %B 本地月份名称的全称(如八月份为august)
    %c 本地相应的日期和时间的字符串表示(如:15/08/27 10:20:06)
    %d 一个月中的第几天(01 - 31)
    %f 微秒(范围0.999999)
    %H 一天中的第几个小时(24小时制,00 - 23)
    %I 第几个小时(12小时制,0 - 11)
    %j 一年中的第几天(001 - 366)
    %m 月份(01 - 12)
    %M 分钟数(00 - 59)
    %p 本地am或者pm的标识符
    %S 秒(00 - 61)
    %U 一年中的星期数。(00 - 53星期天是一个星期的开始。)第一个星期天之 前的所有天数都放在第0周。
    %w 一个星期中的第几天(0 - 6,0是星期天)
    %W 和%U基本相同,不同的是%W以星期一为一个星期的开始。
    %x 本地相应日期字符串(如15/08/01)
    %X 本地相应时间字符串(如08:08:10)
    %y 去掉世纪的年份(00 - 99)两个数字表示的年份
    %Y 完整的年份(4个数字表示年份)
    %z 与UTC时间的间隔(如果是本地时间,返回空字符串)
    %Z 时区的名字(如果是本地时间,返回空字符串)
    %% ‘%’字符

     


    获取结构化时间:
    time.localtime() ====>如time.struct_time(tm_year=2017, tm_mon=9, tm_mday=26, tm_hour=9, tm_min=14, tm_sec=50, tm_wday=1, tm_yday=269, tm_isdst=0)

    结构化时间元组共有9个元素(可以通过time.struct_time()['tm_mon']的方式来取值),按顺序排列如下表:

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

     

     


    time模块的主要方法:

    1. time.sleep(t)
    time模块最常用的方法之一,用来睡眠或者暂停程序t秒,t可以是浮点数或整数。


    2. time.time()
    返回当前系统时间戳。时间戳可以做算术运算。

    3. time.ctime([secs])
    时间戳---->格式化字符串。默认使用time.time()作为参数。

    4. time.strftime("format",time.localtime())
    返回当前系统格式化时间。结构化时间---->格式化时间,显示的格式由参数format决定。如果未指定t,默认传入time.localtime()。如果元组中任何一个元素越界,就会抛出ValueError的异常。
    >>> time.strftime("%Y-%m-%d %H:%M:%S")
    '2017-09-26 10:34:50'
    >>> time.strftime("%Y-%m-%d %H:%M:%S",time.localtime())
    '2017-09-26 02:34:53'

    5. time.strptime(string,"format")
    格式化时间---->结构化时间。time.strptime()方法根据指定的格式把一个时间字符串解析为时间元组。要注意的是,你提供的字符串要和format参数的格式一一对应,如果string中日期间使用“-”分隔,format中也必须使用“-”分隔,时间中使用冒号“:”分隔,后
    面也必须使用冒号分隔,否则会报格式不匹配的错误。
    >>> stime = "2017-09-26 12:11:30"
    >>> st = time.strptime(stime,"%Y-%m-%d %H:%M:%S")
    >>> st
    time.struct_time(tm_year=2017, tm_mon=9, tm_mday=26, tm_hour=12, tm_min=11, tm_sec=30, tm_wday=1, tm_yday=269, tm_isdst=-1)

    6. time.localtime([secs])
    返回当前系统的结构化时间。如果secs参数未提供,则以当前时间为准,即time.time()。

    7. time.mktime(time)
    结构化时间---->时间戳。time.mktime()执行与localtime()相反的操作,它接收struct_time对象作为参数,返回用秒数表示时间的浮点数(如果输入的值不是一个合法的时间,将触发OverflowError或ValueError)。

    8. time.asctime(time)
    结构化时间---->Sun Aug 23 14:31:59 2017这种形式的格式化时间字符串。默认将time.localtime()作为参数。

     

     


    时间格式之间的转换:

    从                      到                          方法
    时间戳              UTC结构化时间                        gmtime()
    时间戳                本地结构化时间                         localtime()
    UTC结构化时间            时间戳                             calendar.timegm()
    本地结构化时间            时间戳                             mktime()
    结构化时间              格式化字符串                          strftime()
    格式化字符串             结构化时间                           strptime()

  • 相关阅读:
    okhttp进行网络传输文件
    bazel、tensorflow_serving、opencv编译问题
    Linux下设置和查看环境变量(转)
    std::move的实际工作过程
    虚拷贝
    移动构造函数和移动赋值
    while(cin>>word)时的结束方法
    转:windows下命令行工具
    eclipse大括号高亮显示---颜色很淡,改为显眼的颜色
    转: Eclipse 分屏显示同一个文件
  • 原文地址:https://www.cnblogs.com/baihualin/p/10444587.html
Copyright © 2020-2023  润新知