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,timedeltaprint(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)]