Day_15 内置模块er
time
使用的时候要用import导入
三种常用:
1.时间戳 time.time 给自己看的
2.结构化时间 修改
3.字符串时间给别人看的
# print(time.localtime(time.time())) # f = time.localtime(time.time() - 86000 * 3) # 150000000 秒 86000 # print(time.strftime('%Y-%m-%d %H:%M:%S',f)) # print(time.strftime('%Y-%m-%d %X',f))
命名元组:
time.struct_time(tm_year=2019, tm_mon=3, tm_mday=20, tm_hour=10,tm_min=21, tm_sec=36, tm_wday=2, tm_yday=79, tm_isdst=0)
获取当前字符串时间 time.strfttime('%Y-%m-%d-%X'),如果没有%d(日)和%Y(时分秒,当然这个Y可以分开写,就是%h-%t-%s) 就是获取这个月第一天的时间,当然年月日,时分秒你都可以这样用
datetime 时间对象
#print(datetime.now()) #2019-03-20 11:35:25.(471359) 毫秒
将时间对象转换成时间戳
f = datetime.datetime(datetime.now())
将时间戳转换成时间对象
print(datetime,fromtimestamp(f))
将字符串转换成时间对象
print(datetime.strptime('2018-11-30','%Y-%m-%d'))
将时间对象转换成字符串
f = datetime.now() print(datetime.strftime(f,%Y-%m-%d))
datetime-精华
from datetime import datetime,timedelta print(datetime.now() - timedelta)
collections
import time
from collection import Counter
Counter
c = Counter('adfasdfasdfasdfasdfasdf') print(c)
#结果 Counter({'a': 6, 'd': 6, 'f': 6, 's': 5})
from collections import namedtuple
namedtuple
tu = namedtuple('juge',['name','age','sex','hobby'])
from collections import deque
#双端队列
d = deque([1,2,3,4]) d.append(5) #右边添加 print(d) d.appendleft(10) #左边添加 print(d) d.insert(2,99) print(d) d.remove(3) print(d) print(d.pop()) print(d) print(d.popleft()) print(d)
from collections import defaultdict
# li = [ # {'name':'alex','hobby':'抽烟'}, # {'name':'alex','hobby':'喝酒'}, # {'name':'alex','hobby':'烫头'}, # {'name':'alex','hobby':'撩妹'}, # {'name':'wusir','hobby':'小宝剑'}, # {'name':'wusir','hobby':'游泳'}, # {'name':'wusir','hobby':'打牌'}, # {'name':'太白','hobby':'烫头'}, # {'name':'太白','hobby':'洗脚'}, # {'name':'太白','hobby':'开车'}, # ] # for i in li: # d[i['name]].append(i['hobby']) # print(dict(d))
例题:
1. t = '2019-03-20 10:40:00'
# 这个时间向后退一个月
2. 获取当前时间求前一月的现在时间
3 li = [('红色',1),('黄色',1),('绿色',1),('蓝色',1),('红色',5),('绿色',1),('绿色',1),('绿色',1)]