import time #python中最基本的时间模块 time.time() #时间戳 (1970年1月1日00:00:00后经过的浮点秒数) time.localtime(time.time()) #时间元组 time.struct_time(tm_year=2017, tm_mon=12, tm_mday=27, tm_hour=15, tm_min=38, tm_sec=59, tm_wday=2, tm_yday=361, tm_isdst=0) #返回的元组的内容: #索引值(index) 属性(attribute) 值(value) #0 tm_year(年) 例如:2016 #1 tm_mon(月) 1~12 #2 tm_mday(日) 1~31 #3 tm_hour(时) 0~23 #4 tm_min(分) 0~59 #5 tm_sec(秒) 0~60 #6 tm_wday(星期几) 0~6(0代表星期一) #7 tm_yday(一年中的第几天) 1~366 #8 tm_isdst(是否为夏令时) 0,1,-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 当前时区的名称 %% %号本身
time模块,常用内置函数
#time.time( ) 返回当前时间的时间戳(1970纪元后经过的浮点秒数)。 #time.localtime([secs]) 接收时间辍(1970纪元后经过的浮点秒数)并返回当地时间下的时间元组t(t.tm_isdst可取0或1,取决于当地当时是不是夏令时)。 #time.asctime([tupletime]) 接受时间元组并返回一个可读的形式为"Tue Dec 11 18:07:14 2008"(2008年12月11日 周二18时07分14秒)的24个字符的字符串。 #time.strftime(fmt[,tupletime]) 接收以时间元组,并返回以可读字符串表示的当地时间,格式由fmt决定。 #time.strptime(str,fmt='%a %b %d %H:%M:%S %Y') 根据fmt的格式,把一个时间字符串,解析为时间元组。 #time.mktime(tupletime) 接受时间元组并返回时间辍(1970纪元后经过的浮点秒数)。 #time.sleep(secs) 推迟调用线程的运行,secs指秒数。
example:
import time t = time.time() print(t) #返回当前时间戳 # 时间元祖 localtime() print(time.localtime() ) # 默认返回当前 时间元组 print(time.localtime(1115587738 ) ) # 格式化 ## 1. asctime() # 默认时间格式。 输入时间元组 print(time.asctime( time.localtime() ) ) ## 2. 自定义时间格式 strftime # 2108-1-8 20:45:36 多少天 多少周 # 不能使用中文 t = time.strftime('%Y-%m-%d %H:%M:%S %j %U',time.localtime() ) print( t ) #### strptime(), 时间格式的字符串 , 转换成时间 s = '2017-5-6 20:16:32 ' time_tu = time.strptime(s,"%Y-%m-%d %H:%M:%S ") print(time.strftime('%j',time_tu) ) print( time_tu ) print( time.mktime(time_tu )) ### sleep() for i in range(20): print(i) if i ==10: print('正在休息') # time.sleep(5)
获取日历
import calendar cal = calendar.month(2018, 1) print("以下输出2018年1月份的日历:") print(cal)
JSON全称是(JavaScript Object Notation)是一种轻量级的数据格式,一般用于前后台,数据的交互。 导入 import json print(json.__all__) 常用的方法:dumps、loads、dump、load 在使用之前 我们要了解两个名字 序列化和反序列化 序列化: 把一个Python对象转化成json字符串 反序列化: 把json字符串转化成python dumps :indent实现缩进, sort_keys 实现排序
json对象 | |
---|---|
dict | object |
list, tuple | array |
str | string |
int, float | number |
None | null |
True/False | true/fase |
example:
''' JSON全称是(JavaScript Object Notation)是一种轻量级的数据格式, 一般用于前后台,数据的交互。 ''' ## key - value import json user = { 'name' :'jianeng', 'age' : 18, 'f' : 1.2, 'language':('python','java'), 'li':[1,2,3,4 ], 'kong': None, 't' : True, 'f' : False } # print(json.__all__ ) ## dumps loads # dumps 序列化 python -> json a = json.dumps(user,indent=2,sort_keys=True ) # dumps -> json 格式的字符串 print( a ) print(type(a) ) #json 格式的字符串 print( user) # loads 反序列化 b = json.loads( a ) print(type(b) ) # dict print(b) ## dump load 针对文件用的 with open('temp.json','w+' ) as f: json.dump(user,f,indent=2,sort_keys=True ) # 序列化 # f = open('temp.json','r+' ) with open('temp.json','r+' ) as f: data = json.load(f) # 反序列化f print(data ) print(type(data) ) print(data['name'] )
3.作业
1、用time模块的方法,把这种格式时间的字符串 '2011-11-11' 转成这种 时间格式:'2011/11/11'

import time # '2011-11-11' ==> '2011/11/11' tmp_time = '2011-11-11' a = time.strptime(tmp_time, '%Y-%m-%d') # print(a) b = time.strftime('%Y/%m/%d', a) print(b)
2、把 Json 的四个方法 ,自己练习一遍
3.写一个login函数 然后写一个装饰器,模拟登录过程:让程序延迟3秒 在延迟过程中输出正在验证
"""
def login():
print('登录成功')
"""

import time def login_required(func): def wrapper(*args, **kwargs): print('正在验证...') time.sleep(2) return func(*args, **kwargs) return wrapper @login_required def login(): print('登录成功') return 'code:200' a = login() print(a)