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学习笔记:模块——time模块的更多相关文章

  1. Python 学习笔记(6)--常用模块(2)

    一.下载安装 下载安装有两种方式: yum\pip\apt-get 或者源码 下载源码 解压源码 进入目录 编译源码 python setup.py build 安装源码 python setup.p ...

  2. python学习笔记之常用模块(第五天)

    参考老师的博客: 金角:http://www.cnblogs.com/alex3714/articles/5161349.html 银角:http://www.cnblogs.com/wupeiqi/ ...

  3. python学习笔记13(模块、包)

    在Python中有一个概念叫做模块(module),比如在Python中要调用sqrt函数,必须用import关键字引入math这个模块,下面就来了解一下Python中的模块. 模块文件以.py后缀结 ...

  4. python学习笔记(九)、模块

    1 模块 使用import 语句从外部导入模块信息,python提供了很大内置模块.当你导入模块时,你会发现其所在目录中,除源代码文件外,还新建了一个名为__pycache__的子目录(在较旧的Pyt ...

  5. Python学习笔记十_模块、第三方模块安装、模块导入

    一.模块.包 1.模块 模块实质上就是一个python文件.它是用来组织代码的,意思就是把python代码写到里面,文件名就是模块的名称,test.py test就是模块的名称 2.包 包,packa ...

  6. Python学习笔记三:模块

    一:模块 一个模块就是一个py文件,里面定义了一些业务函数.引用模块,可以用import语句导入.导入模块后,通过 模块.函数名(参数)  来使用模块中的函数.如果存在多个同名模块,则前面模块名需要加 ...

  7. Python学习笔记:bisect模块实现二分搜索

    在Python中可以利用bisect模块来实现二分搜索,该模块包含函数只有几个: import bisect L = [1,3,4,5,5,5,8,10] x = 5 bisect.bisect_le ...

  8. python学习笔记(六):常用模块

    一.模块.包 什么是模块? 模块实质上就是一个python文件,它是用来组织代码的,意思就是说把python代码写到里面,文件名就是模块的名称,test.py test就是模块名称. 什么是包? 包, ...

  9. python 学习笔记8 (模块)

    Python 模块(Module),是一个 Python 文件,以 .py 结尾,包含了 Python 对象定义和Python语句. 模块让你能够有逻辑地组织你的 Python 代码段. 把相关的代码 ...

  10. Python 学习笔记12 函数模块

    函数的优点之一,使用它们可将代码块与主程序分离.通过给函数指定描述性的名称.可以让主程序非常好理解.但是如果将过多的函数和主程序放置在一起,会让文件显得非常凌乱.太多的代码混杂在一起,不方便管理.我们 ...

随机推荐

  1. 解决让刷新页面时不提示 "重试或取消”对话框

    如果刷新一个已经提交过的页面时,系统总是会提示一个 "重试或取消”的对话框.,如果是一个普通的页面,好象也无所谓,有就有,大不了多点一下.但是当我们是在子窗体中刷新父窗体时,就显得有点多余了 ...

  2. vue如何配置路由 、获取路由的参数、部分刷新页面、缓存页面

    vue如何配置路由 .获取路由的参数.部分刷新页面.缓存页面:http://www.mamicode.com/info-detail-1941546.html vue-router传递参数的几种方式: ...

  3. 不小心执行了 rm -f,先别急着跑路

    作者:justmine http://www.cnblogs.com/justmine/p/10359186.html 前言 每当我们在生产环境服务器上执行rm命令时,总是提心吊胆的,因为一不小心执行 ...

  4. SQL语句优化方式

    不要使用*号进行查询操作,使用具体字段. 索引 在where子句和order by 涉及的字段上合理的添加索引. where 子句优化 避免在where子句中对null值进行判断,应对字段设置默认值 ...

  5. Windows平台下在Emacs中使用plantuml中文乱码问题(已解决)

    Windows平台下在Emacs中使用plantuml中文乱码问题(已解决) */--> code {color: #FF0000} pre.src {background-color: #00 ...

  6. poj3264 Balanced Lineup(树状数组)

    题目传送门 Balanced Lineup Time Limit: 5000MS   Memory Limit: 65536K Total Submissions: 64655   Accepted: ...

  7. SqlServer表名称定义

    每一个数据表 添加一个 扩展 属性:Description  填写表描述. 查看是否所有表都添加的Sql如下: SELECT a.name AS name, g.[value] FROM sys.ta ...

  8. Cas 使用maven的overlay搭建开发环境 (二)

    关于cas-server的安装.部署网上教程很多.但是使用Cas,只通过部署时修改配置是无法满足产品需求的,因此需要我们改造Cas.本文讲解如何使用maven的overlay无侵入的改造Cas. 什么 ...

  9. 禁用usb是否一种方法?

    CM_Request_Device_EjectW?? ddk  sdk必须安装 https://blog.csdn.net/phmatthaus/article/details/49779585

  10. WinForm解决UI假死

    运行WinForm程序时,如果后台执行比较费时的操作,前天UI就会假死卡住,很影响使用感受,这里我们简单的解决一下这个问题 using System; using System.Collections ...