第三十二节,datetime时间模块
首先要引入import datetime时间模块
datetime.date.today()模块函数
功能:输出系统年月日输出格式 2016-01-26【无参】
使用方法:datetime.date.today()【无参】
格式如:datetime.date.today()【无参】
#!/usr/bin/env python # -*- coding:utf8 -*- import datetime a = datetime.date.today() #输出系统年月日输出格式 2016-01-26 print(a) #输出结果 #2016-08-17
datetime.date.fromtimestamp()模块函数
功能:将时间戳转成日期格式如2016-01-16【有参】
使用方法:datetime.date.fromtimestamp(时间戳函数)
格式如:datetime.date.fromtimestamp(time.time()-86400) 注意时间戳函数需要引入import time模块
#!/usr/bin/env python # -*- coding:utf8 -*- import time import datetime a = datetime.date.fromtimestamp(time.time()-86400) #将时间戳转成日期格式2016-01-16 print(a) #输出结果 #2016-08-17
datetime.datetime.now()模块函数【推荐】
功能:返回系统日期和时间【无参】
使用方法:datetime.datetime.now()
格式如:datetime.datetime.now()
#!/usr/bin/env python # -*- coding:utf8 -*- import datetime a = datetime.datetime.now() #返回系统字符串格式日期和时间 print(a) #输出结果 #2016-08-17 01:03:19.322381
timetuple()模块函数【推荐】
功能:返回系统日期和时间格式化对象【无参】
使用方法:系统字符串格式日期和时间函数.timetuple()
格式如:a.timetuple()
#!/usr/bin/env python # -*- coding:utf8 -*- import datetime a = datetime.datetime.now() b = a.timetuple() #返回系统日期和时间格式化对象 print(b) #打印返回系统日期和时间格式化对象 print("%s-%s-%s %s:%s:%s" % (b.tm_year,b.tm_mon,b.tm_mday,b.tm_hour,b.tm_min,b.tm_sec)) #打印拼接字符串格式日期和时间 #输出结果 #time.struct_time(tm_year=2016, tm_mon=8, tm_mday=17, tm_hour=1, tm_min=24, tm_sec=52, tm_wday=2, tm_yday=230, tm_isdst=-1) #2016-8-17 1:24:52
replace()函数模块
功能:将制定日期和时间,替换当前系统时间,如果要替换时间在写上时间【有参】
使用方法:系统字符串格式日期和时间函数.replace(要替换的时间和日期)
格式如:a.replace(2014,9,12) 【有参】
#!/usr/bin/env python # -*- coding:utf8 -*- import datetime a = datetime.datetime.now() #返回系统字符串格式日期和时间 b = a.replace(2014,9,12) #将制定日期和时间,替换当前系统时间,如果要替换时间在写上时间 print(b) #输出结果 #2014-09-12 02:49:54.666131
datetime.datetime.strptime()模块函数
功能:将字符串转换成日期格式【有参】
使用方法:datetime.datetime.strptime("要转换的时间日期字符串","转换格式的标识符")
格式如:datetime.datetime.strptime("21/11/06 16:30", "%d/%m/%y %H:%M")
#!/usr/bin/env python # -*- coding:utf8 -*- import datetime a = datetime.datetime.strptime("21/11/06 16:30", "%d/%m/%y %H:%M") #将字符串转换成日期格式 print(a) #输出结果 #2006-11-21 16:30:00
格式标识符表
%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.timedelta()模块函数
功能:将一个时间减去多少(周,天,小时,分钟,秒,毫秒,微秒)【有参】
使用方法:系统日期和时间函数 + datetime.timedelta(日期或时间名称=单位数) 注意:写上单位就是加,-单位,就是减
日期或时间名称
days=天
seconds=秒
microseconds=微秒
milliseconds=毫秒
minutes=分钟
hours=小时
weeks=周
格式如:datetime.datetime.now() + datetime.timedelta(days=10)
系统时间加1周
#!/usr/bin/env python # -*- coding:utf8 -*- import datetime a = datetime.datetime.now() + datetime.timedelta(weeks=1) #将系统时间加1周 print(a) #输出结果 #2016-08-24 15:57:55.304093
系统时间减1周
#!/usr/bin/env python # -*- coding:utf8 -*- import datetime a = datetime.datetime.now() + datetime.timedelta(weeks=-1) #将系统时间减1周 print(a) #输出结果 #2016-08-10 15:59:04.643905
其他,天,小时,分钟,秒,毫秒,微秒,如同上面的列子
datetime模块常用函数
#_*_coding:utf-8_*_ import time import datetime print(time.clock()) #返回处理器时间,3.3开始已废弃 print(time.process_time()) #返回处理器时间,3.3开始已废弃 print(time.time()) #返回当前系统时间戳 print(time.ctime()) #输出Tue Jan 26 18:23:48 2016 ,当前系统时间 print(time.ctime(time.time()-86640)) #将时间戳转为字符串格式 print(time.gmtime(time.time()-86640)) #将时间戳转换成struct_time格式 print(time.localtime(time.time()-86640)) #将时间戳转换成struct_time格式,但返回 的本地时间 print(time.mktime(time.localtime())) #与time.localtime()功能相反,将struct_time格式转回成时间戳格式 #time.sleep(4) #sleep print(time.strftime("%Y-%m-%d %H:%M:%S",time.gmtime()) ) #将struct_time格式转成指定的字符串格式 print(time.strptime("2016-01-28","%Y-%m-%d") ) #将字符串格式转换成struct_time格式 #datetime module print(datetime.date.today()) #输出格式 2016-01-26 print(datetime.date.fromtimestamp(time.time()-864400) ) #2016-01-16 将时间戳转成日期格式 current_time = datetime.datetime.now() # print(current_time) #输出2016-01-26 19:04:30.335935 print(current_time.timetuple()) #返回struct_time格式 #datetime.replace([year[, month[, day[, hour[, minute[, second[, microsecond[, tzinfo]]]]]]]]) print(current_time.replace(2014,9,12)) #输出2014-09-12 19:06:24.074900,返回当前时间,但指定的值将被替换 str_to_date = datetime.datetime.strptime("21/11/06 16:30", "%d/%m/%y %H:%M") #将字符串转换成日期格式 new_date = datetime.datetime.now() + datetime.timedelta(days=10) #比现在加10天 new_date = datetime.datetime.now() + datetime.timedelta(days=-10) #比现在减10天 new_date = datetime.datetime.now() + datetime.timedelta(hours=-10) #比现在减10小时 new_date = datetime.datetime.now() + datetime.timedelta(seconds=120) #比现在+120s print(new_date)