zoukankan      html  css  js  c++  java
  • 内置时间日期模块:time 和 datetime

      内置模块:
      时间模块:time 和 datetime
      
      time
      
      1. 时间戳:就是秒数:   
      >>> time.time()     #返回当前时间的时间戳(每个时间戳都以自从1970年1月1日午夜(历元)经过了多长时间来表示。)
      1529587130.3731368
      >>>
      
      2. 格式化的时间字符串:
       strftime()).
       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.
     
       
       time.strftime将元组格式的时间,转化格式化输出:
       
       time.strftime("%Y-%m-%d %H:%M:%S".time.localtime())
       >>> time.strftime("%Y-%m-%d %H:%M:%S",time.localtime())
       '2018-06-21 22:09:21'
       time.strptime将格式化的输出转化为元组格式的时间:
       
       >>> time.strptime('2018-06-21 22:09:21', "%Y-%m-%d %H:%M:%S")
       time.struct_time(tm_year=2018, tm_mon=6, tm_mday=21, tm_hour=22, tm_min=9, tm_sec=21, tm_wday=3, tm_yday=172, tm_isdst=-1)
       >>>
       >>>
      
       最简单的获取可读的时间模式的函数是asctime()
       asctime()           #将元组格式转化成一个格式:
       >>> time.asctime(time.localtime())
       'Thu Jun 21 22:26:46 2018'
       >>> time.asctime(time.localtime(1529587130.3731368))
       'Thu Jun 21 21:18:50 2018'
       >>>
       >>> time.ctime()         #将时间戳格式转化为一个格式
       'Thu Jun 21 22:30:05 2018'
      
      >>> time.timezone
      -28800
      >>> time.timezone /3600
      -8.0
      >>>
      
      
      time.sleep(x)   睡几秒!
      >>> time.time()
      1529589195.338138
      
      将时间戳转化为UTC的元组格式的时间;
      >>> time.gmtime(1529589195.338138)
      time.struct_time(tm_year=2018, tm_mon=6, tm_mday=21, tm_hour=13, tm_min=53, tm_sec=15, tm_wday=3, tm_yday=172, tm_isdst=0)
      >>> time.gmtime()   无参数就是当前时间,转化为UTC的标准时间
      time.struct_time(tm_year=2018, tm_mon=6, tm_mday=21, tm_hour=13, tm_min=53, tm_sec=59, tm_wday=3, tm_yday=172, tm_isdst=0)
      >>>
      
      将时间戳转化为UTC的元组格式的时间;
      >>> time.localtime()     无参数将当前时间戳转化为当前时间
      time.struct_time(tm_year=2018, tm_mon=6, tm_mday=21, tm_hour=21, tm_min=55, tm_sec=18, tm_wday=3, tm_yday=172, tm_isdst=0)
      >>>
      >>> time.localtime(1529589195.338138)
      time.struct_time(tm_year=2018, tm_mon=6, tm_mday=21, tm_hour=21, tm_min=53, tm_sec=15, tm_wday=3, tm_yday=172, tm_isdst=0)
      >>>
      取属性:
      >>> time.localtime()
      time.struct_time(tm_year=2018, tm_mon=6, tm_mday=21, tm_hour=22, tm_min=0, tm_sec=16, tm_wday=3, tm_yday=172, tm_isdst=0)
      >>> x = time.localtime()
      >>> x.tm_year
      2018
      >>> x.tm_hour
      22
      将元组格式的时间转化为时间戳格式:
      time.mktime()
      
      >>> time.localtime()
      time.struct_time(tm_year=2018, tm_mon=6, tm_mday=21, tm_hour=22, tm_min=0, tm_sec=16, tm_wday=3, tm_yday=172, tm_isdst=0)
      >>> x = time.localtime()
      >>> time.mktime(x)
      1529589618.0
      
      
      
      3. 元组(struct_time)共9个元素:
      
       >>> time.localtime()     等于:time.localtime(time.time())
       time.struct_time(tm_year=2018, tm_mon=6, tm_mday=21, tm_hour=21, tm_min=23, tm_sec=10, tm_wday=3, tm_yday=172, tm_isdst=0)
       >>>
       tm_year   2008
       tm_mon   1 到 12
       tm_mday   1 到 31
       tm_hour   0 到 23
       tm_min   0 到 59
       tm_sec   0 到 61 (60或61 是闰秒)
       tm_wday   0 到 6  (0是周一)
       tm_yday   1 到 366(儒略历)
       tm_isdst  -1, 0, 1, -1是决定是否为夏令时的旗帜
      
      
       python中时间日期格式化符号:
       %y   两位数的年份表示(00-99)
       %Y   四位数的年份表示(000-9999)
       %m   月份(01-12)
       %d   月内中的一天(0-31)
       %H   24小时制小时数(0-23)
       %I   12小时制小时数(01-12)
       %M   分钟数(00=59)
       %S   秒(00-59)
       %a   本地简化星期名称
       %A   本地完整星期名称
       %b   本地简化的月份名称
       %B   本地完整的月份名称
       %c   本地相应的日期表示和时间表示
       %j   年内的一天(001-366)
       %p   本地A.M.或P.M.的等价符
       %U   一年中的星期数(00-53)星期天为星期的开始
       %w   星期(0-6),星期天为星期的开始
       %W   一年中的星期数(00-53)星期一为星期的开始
       %x   本地相应的日期表示
       %X   本地相应的时间表示
       %Z   当前时区的名称
       %%   %号本身 
       
       
     
     
     datetime
       1.获取当前的时间:datetime.datetime.now()
       >> import datetime
       >>> datetime.datetime.now()
       datetime.datetime(2018, 6, 21, 22, 33, 34, 397472)
       >>>
       前一小时
       d1 = now - datetime.timedelta(hours=1)
       print d1.strftime("%Y-%m-%d %H:%S:%M")
       
       前一天
       d2 = now - datetime.timedelta(days=1)
       print d2.strftime("%Y-%m-%d %H:%S:%M")
       
       上周日
       d3 = now - datetime.timedelta(days=now.isoweekday())
       print d3.strftime("%Y-%m-%d %H:%S:%M"), " ", d3.isoweekday()
       
       上周一
       d31 = d3 - datetime.timedelta(days=6)
       print d31.strftime("%Y-%m-%d %H:%S:%M"), " ", d31.isoweekday()
       
       上个月最后一天
       d4 = now - datetime.timedelta(days=now.day)
       print d3.strftime("%Y-%m-%d %H:%S:%M")
       
       上个月第一天
        print datetime.datetime(d4.year, d4.month, 1)  
  • 相关阅读:
    授权管理-LDAP-介绍与环境搭建
    Gerrit系统框架介绍
    代码托管-gerrit-介绍与环境搭建
    springMVC
    spring,springMVC,mybatis项目添加maven后报500错
    SSM项目引入文件失败
    spring与mybatis整合
    幂等问题本质和业务场景的解决方案
    spring boot logback无感配置
    sentinel与hystrix对比
  • 原文地址:https://www.cnblogs.com/brace2011/p/9226344.html
Copyright © 2011-2022 走看看