获取当前时间 及指定时间
# from datetime import datetime#调用处理日期与时间的标准库 # now = datetime.now()#获取当前时间 # print(now) # import time # ww = time.time()#以时间戳形式获取时间 # print(ww) # from datetime import datetime # dt = datetime(2011,1,12,12,0)#获取指定时间 # print(dt)
datetime与timestamp相互转换
把1970年1月1日 00:00:00 UTC+00:00时区的时刻称为epoch time,记为0
(1970年以前的时间timestamp为负数),当前时间就是相对于epoch time的秒数,称为timestamp,即时间戳。
# from datetime import datetime # dt = datetime(2011,1,12,12,0)#获取指定时间 # print(dt) # dt=dt.timestamp()#将时间格式转为时间戳格式 # print(dt) # dt=datetime.fromtimestamp(dt)#将时间戳格式转为时间格式 # print(dt)
timestamp是一个浮点数,整数位表示秒
本地时间与UTC标准时区时间
# from datetime import datetime # t=1294804800.0 # dt=datetime.fromtimestamp(t)#本地时间 # print(dt) # dr=datetime.utcfromtimestamp(t)#UTC时间 # print(dr)
datetime与str之间的相互转换
# from datetime import datetime # dt= datetime.strptime('2015-6-1 18:19:59', '%Y-%m-%d %H:%M:%S')#字符串转换为时间格式 # print(dt) # print(type(dt)) # mm= dt.strftime('%Y-%m-%d %H:%M:%S')#时间格式转换为字符串 # print(mm) # print(type(mm))
时间的加减
# from datetime import datetime,timedelta # now=datetime.now()#显示当前时间 # print(now) # cc=now + timedelta(hours=10)#当前时间加上10个小时 # print(cc) # bb=now + timedelta(days=3)#当前时间加上3天 # print(bb)
collections
collections是Python内建的一个集合模块,提供了许多有用的集合类。
namedtuple
# from collections import namedtuple # Point = namedtuple('Point',['x','y'])#定义一个名为Point元组,是一个坐标 # p=Point(2,3)#为元组添加坐标 # print(p.x)#调用x # print(p.y)#调用y
deque
deque是为了高效实现插入和删除操作的双向列表
# from collections import deque # q= deque(['a','b','c']) # print(q) # q.append('x')#在q中末尾添加一个元素 # q.appendleft('y')#在q中第一位添加一个元素 # print(q) # q.pop()#在q中末尾删除一个元素 # q.popleft()#在q中第一位删除一个元素 # print(q)
defaultdict
# from collections import defaultdict # dd= defaultdict(lambda :'N/A')#当创建字典时,如果key不存在时返回一个默认值 # dd['key1']='abc' # dd['key2'] # print(dd)
OrderedDict
# from collections import OrderedDict # d=dict([('a',1),('d',3),('c',2),('b',8)]) # print(d) # od = OrderedDict([('a',1),('d',3),('c',2),('b',8)]) # print(od) # # od= OrderedDict() # od['a']=1 # od['b']=4 # od['x']=3 # print(list(od.values()))
OrderedDict
的Key会按照插入的顺序排列,不是Key本身排序。
ChainMap
# from collections import ChainMap # import os,argparse # 构造缺省参数 # defaults={ # 'color':'red', # 'user':'guest' # } # 构造命令行参数 # parser =argparse.ArgumentParser() # parser.add_argument('-u','--user') # parser.add_argument('-c','--color') # name =parser.parse_args() # command ={k:v for k,v in vars(name).items() if v} # 组合成ChainMap # combined =ChainMap(command,os.environ,defaults) #打印参数 # print('color=%s' % combined['color']) # print('user=%s' % combined['user'])
Counter 计数器
# from collections import Counter # c=Counter() # for ch in 'a;ldkq,kf,falfm': # c[ch]=c[ch]+1 # print(c)