timetime模块提供各种时间相关的功能,与时间相关的模块有:time,datetime,calendar等。
时间有三种表示方式,一种是时间戳、一种是格式化时间、一种是时间元组。时间戳和格式化时间的相互转化,都需要先转化为时间元祖。
时间戳单位最适于做日期运算。但是1970年之前的日期就无法以此表示了。太遥远的日期也不行,UNIX和Windows只支持到2038年。
import time #导入time模块
time.sleep(30) #等待30秒
time.strftime('%Y-%m-%d %H:%M:%S') #当前的格式化时间
time.time()#返回当前的时间戳
1、两种时间格式的转化
(1)格式化好的时间---->时间元组---->时间戳
time_tuple = time.strptime('2038-08-29 19:23:59','%Y-%m-%d %H:%M:%S')#格式化好的时间-->时间元组,前面写要转化的时间,后面该时间的的格式
time.mktime(time_tuple)#时间元组-->时间戳
(2)时间戳---->时间元组---->格式化好的时间
# 时间戳-->时间元组,有三种写法
res=time.gmtime(318915696)#时间戳---->时间元组,自己定义的时间
res=time.gmtime(time.time())#时间戳---->时间元组,接收时间戳,并返回格林威治天文时间下的时间元组。
res=time.localtime(time.time())#时间戳---->时间元组,当前时间,当前时区
# 时间元组---->格式化时间
time.strftime('%Y-%m-%d %H:%M:%S',res)
2、封装函数
#封装函数:格式化时间-->时间戳
def str_to_timestamp(time_str=None,format='%Y%m%d%H%M%S'): #给默认值,如果传来的有值就不用默认值
#格式化好的时间转时间戳的
#不传参数的话返回当前的时间戳
if time_str:#如果有值
time_tuple = time.strptime(time_str, format)
timestamp = time.mktime(time_tuple)
else:#如果传进来的没有值
timestamp = time.time()#那就返回当前时间戳
return int(timestamp)#转化成int格式去掉小数点
print(str_to_timestamp())#会返回当前的时间戳
print(str_to_timestamp(''))#不传格式
print(str_to_timestamp('2013-08-09','%Y-%m-%d'))#传格式
#封装函数:时间戳-->格式化时间
def timestamp_to_strtime(timestamp=None,format='%Y-%m-%d %H:%M:%S'):
#这个函数是用来把时间戳转成格式化好的时间
#如果不传时间戳的话,那么就返回当前的时间
if timestamp:#如果传了时间戳,那么转成格式化好的时间
time_tuple = time.localtime(timestamp)
str_time = time.strftime(format,time_tuple)
else:#如果没有传,就返回当前格式化好的时间
str_time = time.strftime(format)
return str_time
3、练习:怎么取3天前的当前时间
提示: 用当前的时间戳-3天的秒数,时间戳转成格式化好的时间
five = str_to_timestamp() - (3*24*60*60)#当前时间戳-3天的秒数
res = timestamp_to_strtime(five)
print('50年后的时间是',res)
Python 学习笔记(6)--常用模块(2)
一.下载安装 下载安装有两种方式: yum\pip\apt-get 或者源码 下载源码 解压源码 进入目录 编译源码 python setup.py build 安装源码 python setup.p ...
python学习笔记之常用模块(第五天)
参考老师的博客: 金角:http://www.cnblogs.com/alex3714/articles/5161349.html 银角:http://www.cnblogs.com/wupeiqi/ ...
python学习笔记13(模块、包)
在Python中有一个概念叫做模块(module),比如在Python中要调用sqrt函数,必须用import关键字引入math这个模块,下面就来了解一下Python中的模块. 模块文件以.py后缀结 ...
python学习笔记(九)、模块
1 模块 使用import 语句从外部导入模块信息,python提供了很大内置模块.当你导入模块时,你会发现其所在目录中,除源代码文件外,还新建了一个名为__pycache__的子目录(在较旧的Pyt ...
Python学习笔记十_模块、第三方模块安装、模块导入
一.模块.包 1.模块 模块实质上就是一个python文件.它是用来组织代码的,意思就是把python代码写到里面,文件名就是模块的名称,test.py test就是模块的名称 2.包 包,packa ...
Python学习笔记三:模块
一:模块 一个模块就是一个py文件,里面定义了一些业务函数.引用模块,可以用import语句导入.导入模块后,通过 模块.函数名(参数) 来使用模块中的函数.如果存在多个同名模块,则前面模块名需要加 ...
Python学习笔记:bisect模块实现二分搜索
在Python中可以利用bisect模块来实现二分搜索,该模块包含函数只有几个: import bisect L = [1,3,4,5,5,5,8,10] x = 5 bisect.bisect_le ...
python学习笔记(六):常用模块
一.模块.包 什么是模块? 模块实质上就是一个python文件,它是用来组织代码的,意思就是说把python代码写到里面,文件名就是模块的名称,test.py test就是模块名称. 什么是包? 包, ...
python 学习笔记8 (模块)
Python 模块(Module),是一个 Python 文件,以 .py 结尾,包含了 Python 对象定义和Python语句. 模块让你能够有逻辑地组织你的 Python 代码段. 把相关的代码 ...
Python 学习笔记12 函数模块
函数的优点之一,使用它们可将代码块与主程序分离.通过给函数指定描述性的名称.可以让主程序非常好理解.但是如果将过多的函数和主程序放置在一起,会让文件显得非常凌乱.太多的代码混杂在一起,不方便管理.我们 ...
随机推荐
【20140113】package 与 import
一个完整的java源程序应该包括下列部分: package语句: //该部分至多只有一句,必须放在源程序的第一句 import语句: public classDefinition: //公共类定义部分 ...
[Locked] Binary Tree Upside Down
Binary Tree Upside Down Given a binary tree where all the right nodes are either leaf nodes with a s ...
liunx操作数据库
liunx操作数据库 1.连接数据库 #mysql -uroot -p mysql -uroot -p 然后输入密码 2.关闭防火墙 #iptables -stop 开启#iptables -star ...
weblogic配置修改java代码后不需要重启热部署方式
我用的是weblogic8.x 在项目的WEB-INFO中创建weblogic.xml --------以下内容复制到weblogic.xml中------------ ..
JAVA入门[4]-IntelliJ IDEA配置Tomcat
一.新建Maven Module测试站点 \ 二.配置Application Server 1.File->Setting,打开设置面板: 2.选中Application Servers,点击+ ...
hdu1995 汉诺塔V
可以直接把前K-1个罗盘全部忽略了,因为移动前K-1个罗盘不会影响第K个. 也就是相当于只移动剩下的n-k-1个罗盘,当只移动第k个罗盘时,f(k)=1;当要哟东第k个和第k+1个时,就必须先把第k个 ...
二叉树遍历等基本操作(Java实现)
前中后序遍历递归实现+层序遍历: 树的结点类代码: public class TreeNode> ...
sticky
最近有点忘了position几个取值的内容,在这里简单总结一下. position的含义是指定位类型,取值类型可以有:static.relative.absolute.fixed.inherit和st ...
ubuntu16.04 install qtcreator
1. 安装相关软件,搭建环境 sudo apt install qt-creator sudo apt install qt5-default source python35/bin/activate ...
CI、CD相关概念
1.CI:持续集成(CONTINUOUS INTEGRATION) 基本概念 CI的全称是Continuous Integration,表示持续集成. 在CI环境中,开发人员将会频繁地向主干提交代码. ...