zoukankan      html  css  js  c++  java
  • Python数据库 6.datetime与logging模块

    6.1 datetime模块

    datetime是python处理时间和日期的标准库

    类名           功能说明

    date 日期对象,常用的属性有year, month, day

    time 时间对象hour,minute,second,毫秒

    datetime 日期时间对象,常用的属性有hour, minute, second, microsecond

    timedelta 时间间隔,即两个时间点之间的长度

    主要使用:

    datetime.datetiem( ) 、  datetime.timedelta( )

    1.datetime类中常用方法:

    • 1.获取当前日期时间:

      datetime.now();

    • 2.日期时间转化为时间戳:

      时间日期对象.timestamp();

      例如:datetime.now().timestamp()

    • 3.时间戳转化为日期时间:

      datetime.fromtimestamp(时间戳)

      例如: datetime.fromtimestamp(1534231316.796308)

    • 4.日期时间对象转字符串:

      时间日期对象.strftime(format)

      例如: datetime.now().strftime("%Y-%m-%d")

    • 5.字符串转日期时间对象:

      datetime.strptime(data_str, format)

      例如: datetime.strptime('2018-3-22 15:28:18', '%Y-%m-%d %H:%M:%S')

     

    • 6.格式字符串常用格式

      格式 描述

      %Y,%y 年 %m 月 %d 日 %H/%l 时 %M 分 %S 秒

     

    2.timedelte:时间运算

    datetime.timedelta( days=0,seconds=0, microseconds=0 milliseconds=0, minutes=0, hours=0, weeks=0 )



    import datetime

    now = datetime.datetime. now (). date()

    result = now + datetime. timedelta(days=1)
    print (result. strftime ("%d"))  #获得明天的日期

    result = now datetime.timedelta (days=3)
    print (result. strftime("%d"))  #获得三天前的日期



    from datetime import datetime

    def get_days(birthday):
       birth=datetime.strptime(birthday,'%Y-%m-%S')
       now=datetime.now()
       days=now-birth
       print(days.days)

    if __name__== '__main__':
       birthday=input('shngri(1980-01-01):')
       get_days(birthday)



    6.2 logging模块

    logging.level(message) 创建一条level级别的日志 logging.basicConfig() 对logger进行配置


         import logging
       
         LOG_FORMAT = %(asctime)s - %(1evelname)s-% (message)s”  #设置输出的格式
       
         logging. basicConfig( level=logging. WARNING, format=LOG_FORMAT)
       
      #写到文件中
         logging. basicConfig( filename='my.log',filemode = 'a',level=logging. WARNING, format=LOG_FORMAT)
       
         logging. debug( This is a debug log )
       
         logging. info( This is a info log”
     
         logging. warning( This is a warning log")
       
         logging. error( This is a errorlog")
       
         logging. critical ( This is a critical 1og )

    Logging 中几种级别:DEBUG < INFO < WARNING < ERROR < CRITICAL 默认显示后三个

    日志等级(level) :

    日志等级(level)  :      描述

    DEBUG 调试信息,通常在诊断问题的时候用得着
    INFO 普通信息,确认程序按照预期运行

    WARNING 警告信息,表示发生意想不到的事情,或者指示接下来可能 会出现一些问题,但是程序还是继续运行    

    ERROR 错误信息,程序运行中出现了一些问题,程序某些功能不能执行
    CRITICAL 危险信息,一个严重的错误,导致程序无法继续运行
    • Formatter格式:

      %(asctime)s 日志事件发生的时间 %(levelname)s 该日志记录的日志级别 %(message)s 日志记录的文本内容 %(name)s 所使用的日志器名称,默认是'root' %(pathname)s 调用日志记录函数的文件的全路径 %(filename)s 调用日志记录函数的文件 %(funcName)s 调用日志记录函数的函数名 %(lineno)d 调用日志记录函数的代码所在的行号

     

    • 组件 说明:(了解)

      Loggers(日志记录器) 提供程序直接使用的接口 Handlers(日志处理器) 将记录的日志发送到指定的位置 Filters(日志过滤器) 用于过滤特定的日志记录 Formatters(日志格式器) 用于控制日志信息的输出格式

     

    模块化组件使用:

    • 1.创建一个logger(日志处理器)对象

    • 2.定义handler(日志处理器),决定把日志发到哪里

      StreamHandler 输出到控制台 FileHandler 输出到文件

    • 3.设置日志级别(level)和输出格式Formatters(日志格式器)

    • 4.把handler添加到对应的logger中去


    import logging

    my_logger = logging . Logger( ' nanbei' )

    fh = logging. FileHandler( 'my.log')
    fh. setLevel(logging . INFO)

    fmt = logging . Formatter( ' %message)s - nanbei' )
    fh. setFormatter( fmt )

    my_logger.addHandler(fh)



    sh = logging .StreamHandler( )
    sh.setLevel(logging. DEBUG)

    sh_fmt = logging. Formatter('%(message)s-nanbei-stream_ handler')

    sh. setFormatter(sh_fmt )
    my_logger. addHandler(sh)

    my_logger.info('成功')

     

  • 相关阅读:
    MySQL行(记录)的详细操作一 介绍 二 插入数据INSERT 三 更新数据UPDATE 四 删除数据DELETE 五 查询数据SELECT 六 权限管理
    {MySQL完整性约束}一 介绍 二 not null与default 三 unique 四 primary key 五 auto_increment 六 foreign key 七 作业
    { MySQL基础数据类型}一 介绍 二 数值类型 三 日期类型 四 字符串类型 五 枚举类型与集合类型
    MySQL的sql_mode模式说明及设置
    {MySQL存储引擎介绍}一 存储引擎解释 二 MySQL存储引擎分类 三 不同存储引擎的使用
    {MySQL的库、表的详细操作}一 库操作 二 表操作 三 行操作
    小爬爬2.数据解析
    小爬爬2:fiddler安装和了解fiddler
    小爬爬2.回顾
    小爬爬1.requests基础操作
  • 原文地址:https://www.cnblogs.com/dyf25288-/p/11701598.html
Copyright © 2011-2022 走看看