潭州课堂25班:Ph201805201 python 模块 datetime,logging 第七课 (课堂笔记)

 datetime 模块

# -*- coding: utf-8 -*-
# 斌彬电脑
# @Time : 2018/7/9 0009 20:42
import datetime

d = datetime.date(2018,7,9)
print( type(d )) # <class 'datetime.date'> 是个类,
print(d) # 2018-07-09
#
#
t = datetime.time(20,50,11,155)
print( type(t) ) # <class 'datetime.time'>
print( t ) # 20:50:11.000155

#
dt = datetime.datetime(2018,7,9,20,56,11,300)
print( type(dt) ) # <class 'datetime.datetime'>
print( dt ) # 2018-07-09 20:56:11.000300

n = datetime.datetime.now()
print( type(n) ) # <class 'datetime.datetime'>
print(n) # 2018-07-09 21:15:40.806359



#
dlt = datetime.timedelta(hours=5)
print( type(dlt) ) # <class 'datetime.timedelta'>
print(dt+dlt) # 2018-07-10 01:56:11.000300 五个小时以后的时间,

u = datetime.datetime.utcnow() #格林威治时间
print( type(u) ) # <class 'datetime.datetime'>
print(u) # 2018-07-09 13:20:17.139496


s = datetime.datetime.strptime('2018-7-9 9:22:22','%Y-%m-%d %H:%M:%S')
print(s) # 解析时间

f = n.strftime('%Y-%m-%d %H-%M-%S')
print(f) # 2018-07-09 21-38-09
fs = n.strftime('%m-%d-%Y %H-%M-%S')
print(fs) # 07-09-2018 21-38-09


import time

tt = datetime.datetime.fromtimestamp(time.time()) # 时间戳转成时期
print(tt) # 2018-07-09 21:41:58.874326

ss = tt.timestamp()
print('时间转为时间戳',ss) # 时间转为时间戳 1531143896.774714

a1 = n.hour # 小时
a2 = n.minute # 分
a3 = n.second # 秒

a4 = n.year # 年
a4 = n.month # 月
a4 = n.day # 日



q2 = n.weekday() # 星期
q3 = n.isoweekday()


# 标准化时间
d = n.isocalendar() # (2018, 28, 2)
d1 = n.isocalendar()[0] # 年
d2 = n.isocalendar()[1] # 月
d3 = n.isocalendar()[2] # 日

  

logging  模块
# -*- coding: utf-8 -*-
# @Time : 2018/7/10 0010 5:49
import logging
logger = logging.getLogger()
##    创建一个 logger 用于写日志文件
fh = logging.FileHandler( 'text.log' ,encoding='utf8')
ch = logging.StreamHandler()
##  创建一个 handler 对象 用于输出到屏幕

#   日志格式
formatter = logging.Formatter( '时间:%(asctime)s,- 用户:%(name)s,- 日志级别:%(levelname)s, - 日志信息:%(message)s' )

fh.setFormatter( formatter )      ##   调用格式
ch.setFormatter( formatter )      ##   调用格式
logger.addHandler( fh )           ##   日志输出
logger.addHandler( ch )            ##   日志输出

logger.setLevel( logging.DEBUG )            ##   设置级别
#
# logger.debug( '测试中...' )
# logger.info( '正常运行' )
# logger.warning( '警告' )
# logger.error( '一般错误 ' )
# logger.critical( '致命错误' )

def fun_t(a):
    try:
        num = 10/a
        logging.info(num)
    except Exception as e:
        logging.error(e)

fun_t(5)

  

%(name)s Logger的名字

%(levelname)s 文本形式的日志级别

%(message)s 用户输出的消息

%(asctime)s 字符串形式的当前时间。默认格式是 “2003-07-08 16:49:45,896”。逗号后面的是毫秒

%(levelno)s 数字形式的日志级别

%(pathname)s 调用日志输出函数的模块的完整路径名,可能没有

%(filename)s 调用日志输出函数的模块的文件名

%(module)s  调用日志输出函数的模块名

%(funcName)s 调用日志输出函数的函数名

%(lineno)d 调用日志输出函数的语句所在的代码行

%(created)f 当前时间,用UNIX标准的表示时间的浮 点数表示

%(relativeCreated)d 输出日志信息时的,自Logger创建以 来的毫秒数

%(thread)d 线程ID。可能没有 %(threadName)s 线程名。可能没有

%(process)d 进程ID。可能没有

原文地址:https://www.cnblogs.com/gdwz922/p/9286942.html