# '2019-03-20 10:40:00'
#这个时间向后推一个月
f1 = time.strptime('2019-03-20 10:40','%Y-%m-%d %H:%M')
# 把字符串时间转换成 结构化时间  
# time.struct_time(tm_year=2019,
a_time = time.mktime(f1)+30*86400 #1555641600.0
# 把结构化转换成时间戳时间 加上一个月的时间
af_time = time.localtime(a_time)
#把时间戳时间转换成 结构化时间
# time.struct_time(tm_year=2019, tm_mon=4, print(time.strftime("%Y-%m-%d %H:%M:%S",af_time))#2019-04-19 10:40:00
#获取当前时间向前一个月的现在时间
# 获取时间戳时间  #减去一个月的时间
a = time.time()-30*86400  #1553051329.3784719  #1550459329.3784719  
new = time.localtime(a)
# 把时间戳转换成结构化时间  #time.struct_time(tm_year=2019, tm_mon=2print(time.strftime("%Y-%m-%d %X",new))
# 把结构化转换 字符串时间  #2019-02-18 11:08:49

总结:

#总结:
# 6个
# 时间戳 -- 结构化 1 time.localtime(shi)
# 结构化 -- 时间戳 1 time.mktime(jie)
#结构化 -- 字符串 1 time.strftime("%Y-%m-%d %X",jie)
#字符串 -- 结构化 1 time.strptime('2019-03-20 10:40','%Y-%m-%d %H:%M')
#time.time() 1
#strftime() 1 #获取当前字符串时间

datetime

from datetime import datetime,timedelta#从XX导入 建议
# import datetime.datetime print(datetime.now())#2019-03-20 11:36:03.263924(毫秒)
#时间对象(类似于字符串时间)
print(datetime.timestamp(datetime.now())) #将时间对象转换成时间戳#1553053518.409677
#求时间戳 比time.time()慢
f = datetime.timestamp(datetime.now())
print(datetime.fromtimestamp(f))# 将时间戳转换成时间对象#2019-03-20 11:43:44.072281 print(datetime.strptime('2018-11-30','%Y-%m-%d'))#2018-11-30 00:00:00
#将字符串转成时间对象
print(datetime.strftime(datetime.now(),'%Y-%m-%d'))# 后格式 #2019-03-20
#将时间对象转成字符串 print(datetime.now()-timedelta(hours=10))#2019-03-20 01:43:44.084282
print(datetime.now()-timedelta(weeks=10))#2019-03-10 11:45:18.421678
#这个是datetime的精华
collections
#数据类型补充
from collections import Counter
#计算
print(Counter([1,3,4,5,6,3,222,3,4,67,7,3,4,]))
#Counter({3: 4, 4: 3, 1: 1, 5: 1, 6: 1, 222: 1, 67: 1, 7: 1}) print(Counter('adasdfasdfasdfsafd'))
# Counter({'a': 5, 'd': 5, 's': 4, 'f': 4})
print(Counter((1,3,4,5,6,3,222,3,4,67,7,3,4,)))
c = Counter('adasdfasdfasdfsafd')
print(c[1]) # 0 都是 0
print(dict(c)) # 对象类型 Counter 就可以转 dic
#{'a': 5, 'd': 5, 's': 4, 'f': 4}
from collections import namedtuple
# 命名元组
# 类
tu =namedtuple('liuyang',['name','age','sex','hobby'])
print(tu('shuaige',19,'nan','chouyan'))
#liuyang(name='shuaige', age=19, sex='nan', hobby='chouyan')
# 元组 数目比较多 明确的表明每一个元素是什么意思
print(tu,tu.name)#<class '__main__.liuyang'> #<property object at 0x000000000289D688>
# property
t = tu('shuaige',19,'nan','chouyan')
#实例一个对象
#对象找属性
print(t.age , t[0])# 19 shuaige class A:
@property
def func(self):
print(11)
a = A()
a.func # from collections import deque
#双端队列
d = deque([1,2,3,4])
d.append(5) #右边添加
# deque([1, 2, 3, 4, 5])
d.appendleft(10) #左边添加
# deque([10, 1, 2, 3, 4, 5])
d.insert(2,6)
# deque([10, 1, 6, 2, 3, 4, 5])
print(d.pop())#
print(d.popleft())#
d.remove(2)
print(d) #deque([1, 6, 3, 4])
#(1)队列 (2)栈
#(1)FIFO 先进先出 #两个门???
#(2) 后进后出 先进后出(坐电梯) from collections import defaultdict
#默认字典 d = defaultdict(list)
print(d)#defaultdict(<class 'list'>, {})
# d['name']
print(d) #defaultdict(<class 'list'>, {'name': []})
# 因为上面的规定defaultdict(list)
# dic = {}
# dic['name']
# print(dic) #KeyError: 'name' 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': '开车'},
]
for i in li :
d[i['name']].append(i['hobby']) print([dict(d)]) li = [('红色',1),('黄色',1),('绿色',1),('红色',1)] d = defaultdict(list)
for i in li:
d[i[0]].append(i[1])
print(d)
dd = dict(d)
for i in dd:
dd[i] = sum(dd[i])
print(dd) #键是一样的 值也是一样的 方便
import time
dic = {"":2,"":3,"":5,'alex':1,'a':3,'sfad':3,'neja':4}
# while 1:
# time.sleep(0.5)
# print(dic)
'''
{'1': 2, '2': 3, '3': 5}
{'1': 2, '2': 3, '3': 5}
{'1': 2, '2': 3, '3': 5}
{'1': 2, '2': 3, '3': 5}'''
print(dic)
# collections
#deque:双端队列
#两头都可以删除
#队列 先进先出
#栈 新进后出
#Counter:计算
# 计数 : 统计元素出现次数,字典形式显示
# #Counter({1:2}) 这种可以直接dict()转换
#defaultdict:默认字典
# 利用他的特性
#namedtuple :命名元祖
# 作用:将元祖中的元素进行标明(让别人知道这元素是什么意思)

python学习 day15 (3月20日)----time的更多相关文章

  1. Python 学习日志9月20日

    9月20日 周三 多大年龄了,还活得像个小孩.——急什么,人生又不长. 你习惯了思考宇宙星辰,一百年真的不长,一生也就不那么长,许多人的价值观念你也就无法理解.同样,许多人也无法理解你的价值观念,感兴 ...

  2. Python 学习日志9月19日

    9月19日 周二 今天是普通的一天,昨天也是普通的一天,刚才我差点忘记写日志,突然想起来有个事情没做,回来写. 今天早晨学习<Head First HTML and CSS>第十一章节“布 ...

  3. Python学习日志9月17日 一周总结

    周一,9月11日 这天写的是过去一周的周总结,我从中找出当天的内容. 这天早晨给电脑折腾装机,早晨基本上没有学习,休息了一个早晨. 下午写的上周总结,完事做mooc爬虫课的作业,<Think P ...

  4. Python 学习日志9月21日

    9月21日 周四 今天是个特殊的日子吗,总感觉9月21这个日子听着怪怪的. 今天早晨看<Head First HTML and CSS>第13章节“表格和更多列表”,内容不多,看完并做了详 ...

  5. Python学习日志9月13日

    昨天的学习日志没有写,乱忙了一整天,政治电脑. 好奇心重,想要给电脑装上传说中LInux操作系统,各种小问题折腾到半夜,今天又折腾到晚上才真正的装上系统. 可是装上系统后又发现各种的不好用.虽然界面比 ...

  6. Python学习日志9月16日

    刚才我差点睡着了,差资料的时候太费神,有些累. 今天早晨学习了<head first HTML and CSS>,今天把昨天没看了的关于字体和颜色的一章节看完了,真长.我详细的做了笔记,并 ...

  7. python学习 day19 (3月26日)----(对象组合)

    深谙:非常透彻地了解:熟悉内中情形.谙,读作‘ān’ 熟悉. 1.面向对象作用:规划了代码中的函数处理的是哪一类问题 解决了传参的问题 方便扩展 方便重用 2.类的定义和使用类当中有哪些成员 ''' ...

  8. python学习 day3 (3月4日)---字符串

    字符串: 下标(索引) 切片[起始:终止] 步长[起始:终止:1] 或者-1 从后往前 -1 -2 -3 15个专属方法: 1-6  : 格式:大小写 , 居中(6) s.capitalize() s ...

  9. Python学习日志9月15日

    一周就要过去了,而我跟一周以前没什么区别.回想一下,我这周做了什么事情呢.恍然若失.这周的精力都浪费在很多不必要的事情上了.学过一片古文,讲后羿学射箭,他有一个同学跟他一样聪明,在一起学习.后羿呢,专 ...

随机推荐

  1. rancher 2 安装 longhorn

    宿主机为centos 7 注意一定要安装open-iscsi yum install iscsi-initiator-utils 集群--默认命名空间--目录应用--longhorn 安装

  2. pandas中series和dataframe之间的区别

    series结构有索引,和列名组成,如果没有,那么程序会自动赋名为None series的索引名具有唯一性,索引可以数字和字符,系统会自动将他们转化为一个类型object. dataframe由索引和 ...

  3. Codeforces Beta Round #72 (Div. 2 Only)

    Codeforces Beta Round #72 (Div. 2 Only) http://codeforces.com/contest/84 A #include<bits/stdc++.h ...

  4. word 2016 加载 mathtype

    1.加载wold: 首先打开word,选择选项-------加载项------管理(A),选择word加载项,点击转到 这儿显示的是我已经添加过的所以显示的有. 2.点击添加,找到你的mathtype ...

  5. 2017-2018-2 20165315 实验三《敏捷开发与XP实践》实验报告

    2017-2018-2 20165315 实验三<敏捷开发与XP实践>实验报告 一.编码标准 编写代码一个重要的认识是"程序大多时候是给人看的",编程标准使代码更容易阅 ...

  6. how2j网站前端项目——天猫前端(第一次)学习笔记5

    收拾好心情,现在开始学习第5个页面——购物车页面! 一.结算按钮 这个还是比较简单的,我自己看着站长的样子模仿了一个: 有个地方不会做,就是全选前面的复选框,站长的框里面是白色的,我搞不来. 二.订单 ...

  7. 33-Java中的String,StringBuilder,StringBuffer三者的区别

    转载自:https://www.cnblogs.com/su-feng/p/6659064.html StringBuilder 详解 (String系列之2) Java中的String,String ...

  8. opencv版本的问题

    opencv版本的问题(由于我安装了两个版本opencv-2.4.9 and opencv-3.1.0),搜了相关问题,可以通过修改了CMakeList.txt解决此问题. 参考了这个博客:http: ...

  9. Django 实现登陆验证码

    一 基本使用方法 Python生成随机验证码,需要使用PIL模块 安装: pip3 install pillow 基本使用 1 创建图片 from PIL import Image, ImageDra ...

  10. YII2中ActiveDataProvider与GridView的配合使用

    YII2中ActiveDataProvider可以使用yii\db\Query或yii\db\ActiveQuery的对象,方便我们构造复杂的查询筛选语句. 配合强大的GridView,快速的显示我们 ...