一、时间函数
1.计算两个日期相差天数的计算
1 >>> import datetime 2 >>> d1 = datetime.datetime(2016, 2, 16) 3 >>> d2 = datetime.datetime(2016, 2, 23) 4 >>> (d2-d1).days 5 7 6 >>>
2.计算两个时间相差的秒数
1 >>> import datetime 2 >>> starttime = datetime.datetime.now() 3 >>> endtime = datetime.datetime.now() 4 >>> (endtime - starttime).seconds 5 4 6 >>>
3.计算当前时间向后12小时的时间
1 >>> import datetime 2 >>> d1 = datetime.datetime.now() 3 >>> d2 = d1 + datetime.timedelta(hours=12) 4 >>> d2.ctime() 5 ‘Fri Feb 26 07:58:41 2016‘ 6 >>>
4.日期的操作必须使用time或datetime库
1 >>> import time 2 >>> da="2016-1-2" 3 >>> time.strptime(da,"%Y-%m-%d") 4 time.struct_time(tm_year=2016, tm_mon=1, tm_mday=2, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=5, tm_yday=2, tm_isdst=-1) 5 >>>
这是将字符串格式的日期及时间转成日期对象
转义符对应意义如下
%a 本地简化星期名称
%A 本地完整星期名称
%b 本地简化的月份名称
%B 本地完整的月份名称
%c 本地相应的日期表示和时间表示
%d 月内中的一天(0-31)
%H 24小时制小时数(0-23)
%I 12小时制小时数(01-12)
%j 年内的一天(001-366)
%m 月份(01-12)
%M 分钟数(00=59)
%p 本地A.M.或P.M.的等价符
%S 秒(00-59)
%U 一年中的星期数(00-53)星期天为星期的开始
%w 星期(0-6),星期天为星期的开始
%W 一年中的星期数(00-53)星期一为星期的开始
%x 本地相应的日期表示
%X 本地相应的时间表示
%y 两位数的年份表示(00-99)
%Y 四位数的年份表示(000-9999)
%Z 当前时区的名称
%% %号本身
5.时间戳与字符串间的转换
#将"2011-09-28 10:00:00"转化为时间戳
1 >>> import time 2 >>> a = "2016-02-22 00:00:00" 3 >>> b = "2016-01-22 00:00:00" 4 >>> aa = time.mktime(time.strptime(a,‘%Y-%m-%d %H:%M:%S‘)) #1456070400.0 5 >>> print(aa) 6 1456070400.0 7 >>> bb = time.mktime(time.strptime(b,‘%Y-%m-%d %H:%M:%S‘)) #1453392000.0 8 >>> print(bb) 9 1453392000.0 10 >>> print((aa- bb)/3600/24)#31.0 将时间转换为天数
11 >>> 31.0 12
#将时间戳转化为localtime
1 >>> import time 2 >>> x = time.localtime(1317091800.0)#localtime参数为float类型,这里1317091800.0为float类型 3 >>> print(time.strftime(‘%Y-%m-%d %H:%M:%S‘,x)) #2011-09-27 10:50:00 4 2011-09-27 10:50:00 5 >>>
1 >>> import datetime 2 3 >>> datetime.date(datetime.date.today().year,datetime.date.today().month,1) 4 datetime.date(2016, 2, 1) #当月1号 5 6 >>> datetime.date.today().replace(day=1) #当月1号 7 datetime.date(2016, 2, 1) 8 >>> (datetime.date.today().replace(day=1) - datetime.timedelta(1)).replace(day=1) #上月1号 9 datetime.date(2016, 1, 1) 10 >>> 11 >>> i = datetime.datetime.now() 12 >>> print ("%s-%s-%s" % (i.year,(i.month+1),"10")) #下个月 13 2016-3-10 14 >>>
二、logging日志
1 #!/uer/bin/env python 2 #-*- coding:utf-8 -*- 3 4 import logging 5 6 #创建日志 7 logger = logging.getLogger(‘user_login-LOG‘) 8 logger.setLevel(logging.INFO) 9 10 11 # create console handler and set level to debug 12 # 创建控制台处理程序 和设置 debug级别 13 ch = logging.StreamHandler() 14 ch.setLevel(logging.DEBUG) 15 16 # create file handler and set level to warning 17 # 创建文件处理程序并设置warning警告级别 18 fh = logging.FileHandler("access.log") 19 # fh.setLevel(logging.WARNING) #把WARNING级别以上的日志写到 日志文件中 20 fh.setLevel(logging.INFO) ##把INFO 级别以上的日志写到 日志文件中去 21 # fh.setLevel(logging.DEBUG) 22 23 # create formatter 24 # 创建格式化程序 25 formatter = logging.Formatter(‘%(asctime)s - %(name)s - %(levelname)s - %(message)s‘) 26 27 # add formatter to ch and fh 28 # 格式化ch 和 fh 29 # ch.setFormatter(formatter) 30 fh.setFormatter(formatter) 31 32 # add ch and fh to logger 33 # 添加ch 和 fh 的日志记录 34 # logger.addHandler(ch) #显示在控制台上 35 logger.addHandler(fh) 36 37 # ‘application‘ code 38 # 日志记录内容 39 # logger.debug(‘1、debug message‘) #记录debug级别的信息 40 logger.info(‘2、info message‘) ##记录info级别的信息 41 # logger.warn(‘3、warn message‘) #记录warn级别的信息 42 # logger.error(‘4、error message‘) #记录error级别的信息 43 # logger.critical(‘5、critical message‘) #记录critical级别的信息
原文:http://www.cnblogs.com/zhang252709/p/5218891.html