python时间模块-time和datetime
时间模块
python 中时间表示方法有:时间戳,即从1975年1月1日00:00:00到现在的秒数;格式化后的时间字符串;时间struct_time 元组。
struct_time元组中元素主要包括tm_year(年)、tm_mon(月)、tm_mday(日)、tm_hour(时)、tm_min(分)、tm_sec(秒)、tm_wday(weekday0 - 6(0表示周日))、tm_yday(一年中的第几天1 - 366)、tm_isdst(是否是夏令时)
1. time
常用函数
- time.time() 返回当前时间戳
>>> time.time()
1465370844.096474- time.ctime() 返回这种格式的时间字符'Wed Jun 8 15:27:48 2016',显示当前时间.同时也可以转换时间戳
>>> time.ctime()
'Wed Jun 8 15:27:48 2016' >>> time.ctime(time.time()-86400)
'Tue Jun 7 15:29:36 2016'- time.gmtime 将时间戳转换成struct_time格式,此显示的是格林威治0时区的时间
>>> time.gmtime()
time.struct_time(tm_year=2016, tm_mon=6, tm_mday=8, tm_hour=7, tm_min=34, tm_sec=28, tm_wday=2, tm_yday=160, tm_isdst=0) >>> time.gmtime(time.time() - 86400)
time.struct_time(tm_year=2016, tm_mon=6, tm_mday=7, tm_hour=7, tm_min=34, tm_sec=41, tm_wday=1, tm_yday=159, tm_isdst=0)- time.localtime 将当前系统时间戳转化为struct_time格式
>>> time.localtime()
time.struct_time(tm_year=2016, tm_mon=6, tm_mday=8, tm_hour=15, tm_min=35, tm_sec=33, tm_wday=2, tm_yday=160, tm_isdst=0) >>> time.localtime(time.time() - 86400)
time.struct_time(tm_year=2016, tm_mon=6, tm_mday=7, tm_hour=15, tm_min=37, tm_sec=10, tm_wday=1, tm_yday=159, tm_isdst=0)
- time.mktime 将struct_time格式转回成时间戳
>>> now = time.localtime()
>>> now
time.struct_time(tm_year=2016, tm_mon=6, tm_mday=8, tm_hour=15, tm_min=38, tm_sec=28, tm_wday=2, tm_yday=160, tm_isdst=0)
>>> time.mktime(now)
1465371508.0- time.strftime 将struct_time格式转成指定的字符串格式
>>> now = time.localtime()
>>> now
time.struct_time(tm_year=2016, tm_mon=6, tm_mday=8, tm_hour=15, tm_min=38, tm_sec=28, tm_wday=2, tm_yday=160, tm_isdst=0)
>>> last = time.localtime(time.time() - 86400)
>>> last
time.struct_time(tm_year=2016, tm_mon=6, tm_mday=7, tm_hour=15, tm_min=40, tm_sec=23, tm_wday=1, tm_yday=159, tm_isdst=0)
>>> time.strftime("%Y-%m-%d %H:%M:%S",last)
'2016-06-07 15:40:23'
>>> time.strftime("%Y-%m-%d %H:%M:%S",now)
'2016-06-08 15:38:28'- time.strptime 将自定义时间格式的字符串转换为struct_time格式
>>> time.strptime("2016-06-08","%Y-%m-%d")
time.struct_time(tm_year=2016, tm_mon=6, tm_mday=8, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=2, tm_yday=160, tm_isdst=-1)
>>> time.strptime("2016-06-08 15:50:44","%Y-%m-%d %H:%M:%S")
time.struct_time(tm_year=2016, tm_mon=6, tm_mday=8, tm_hour=15, tm_min=50, tm_sec=44, tm_wday=2, tm_yday=160, tm_isdst=-1)- time.sleep 暂停时间,类似于shell的sleep()
其他
- 时间格式:
格式 说明 %a 显示简化星期名称 %A 显示完整星期名称 %b 显示简化月份名称 %B 显示完整月份名称 %c 本地相应的日期和时间表示 %d 显示当月第几天 %H 按24小时制显示小时 %I 按12小时制显示小时 %j 显示当年第几天 %m 显示月份 %M 显示分钟数) %p 本地am或者pm的相应符 %S 显示秒数) %U 一年中的星期数 %w 显示在星期中的第几天,默认从0开始表示周一 %W 和%U基本相同 %x 本地相应日期 %X 本地相应时间 %y 去掉世纪的年份(00 - 99) %Y 完整的年份 %Z 时区的名字(如果不存在为空字符) %% ‘%’字符 - 时间函数之间转换关系

2. datetime
datime是time的升级版,可以对date(日期)、time(时间)、datetime(日期时间)等三种单独管理。主要是由下面四个类组成
- datetime.datetime常用函数(datetime.date datetime.time通用)
#datetime.datetime.today() 默认返回当前日期和时间的对象,也可以自定义日期和时间
>>> today = datetime.datetime.today()
>>> print(today)
2016-06-08 16:34:08.163371
>>> last = datetime.datetime(2016,5,8,11,23,55) #注意此处表示日期只能是实际月份,不能带0
>>> print(last)
2016-05-08 11:23:55
>>>last = datetime.datetime(2016,05,08,11,23,55)
File "<stdin>", line 1
last = datetime.datetime(2016,05,08,11,23,55)
^
SyntaxError: invalid token
#datetime.datetime.now() 返回当前时间
>>> datetime.datetime.now()
datetime.datetime(2016, 6, 8, 16, 44, 29, 694398)
# datetime.strftime(format) #自定义格式化时间
>>> today.strftime("%I:%M:%S %p %d/%m/%Y")
'04:34:08 PM 08/06/2016'
# datetime.datetime.timple() 将时间转换为struct_time 格式
>>>today.timetuple()
time.struct_time(tm_year=2016, tm_mon=6, tm_mday=8, tm_hour=16, tm_min=34, tm_sec=8, tm_wday=2, tm_yday=160, tm_isdst=-1)
#datetime.replace()返回一个替换后的date对象
>>>last = today.replace(1949,10,1)
>>> print(last)
1949-10-01 16:34:08.163371
>>> last = today.replace(year=1919,month=3,day=2)
>>> print(last)
1919-03-02 16:34:08.163371
# datetime.datetime.strptime 将字符串转换为日志格式对象
>>> a = "2016-06-08 17:18:19"
>>> b = datetime.datetime.strptime(a,"%Y-%m-%d %H:%M:%S")
>>> print(a)
2016-06-08 17:18:19
>>> print(b)
2016-06-08 17:18:19
>>> print(type(a))
<class 'str'>
>>> print(type(b))
<class 'datetime.datetime'>
- datetime.timedelta 时间运算
可用参数:days seconds microseconds milliseconds minutes hours weeks
today = datetime.datetime.now()
>>> print(today)
2016-06-08 16:51:31.698122
>>> yesterday = today - datetime.timedelta(days=1)
>>> print(yesterday)
2016-06-07 16:51:31.698122
>>> last_hour = today - datetime.timedelta(hours=1)
>>> print(last_hour)
2016-06-08 15:51:31.698122
python时间模块-time和datetime的更多相关文章
- python时间模块time,datetime
时间模块time.datetime 模块(module)是 Python 中非常重要的东西,你可以把它理解为 Python 的扩展工具.换言之,Python 默认情况下提供了一些可用的东西,但是这些默 ...
- python 时间模块time,datetime详细介绍
模块(module)是 Python 中非常重要的东西,你可以把它理解为 Python 的扩展工具.换言之,Python 默认情况下提供了一些可用的东西,但是这些默认情况下提供的还远远不能满足编程实践 ...
- python 时间模块time,datetime
模块(module)是 Python 中非常重要的东西,你可以把它理解为 Python 的扩展工具.换言之,Python 默认情况下提供了一些可用的东西,但是这些默认情况下提供的还远远不能满足编程实践 ...
- Python常用模块-时间模块(time&datetime)
Python常用模块-时间模块(time & datetime) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.初始time模块 #!/usr/bin/env pyth ...
- 浅谈Python时间模块
浅谈Python时间模块 今天简单总结了一下Python处理时间和日期方面的模块,主要就是datetime.time.calendar三个模块的使用.希望这篇文章对于学习Python的朋友们有所帮助 ...
- python常用模块之time&datetime模块
python常用模块之time&datetime模块 在平常的代码中,我们经常要与时间打交道.在python中,与时间处理有关的模块就包括:time和datetime,下面分别来介绍: 在开始 ...
- python内建时间模块 time和datetime
时间模块 UTC(Coordinated Universal Time,世界协调时)亦即格林威治天文时间,世界标准时间.在中国为UTC+8.DST(Daylight Saving Time)即夏令时. ...
- Python时间模块datetime用法
时间模块datetime是python内置模块,datetime是Python处理日期和时间的标准库. 1,导入时间模块 from datetime import datetime 2,实例 from ...
- python常用标准库(时间模块 time和datetime)
常用的标准库 time时间模块 import time time -- 获取本地时间戳 时间戳又被称之为是Unix时间戳,原本是在Unix系统中的计时工具. 它的含义是从1970年1月1日(UTC/G ...
随机推荐
- SQLServer(MSSQL)、MySQL、SQLite、Access相互迁移转换工具 DB2DB v1.4
最近公司有一个项目,需要把原来的系统从 MSSQL 升迁到阿里云RDS(MySQL)上面.为便于测试,所以需要把原来系统的所有数据表以及测试数据转换到 MySQL 上面.在百度上找了很多方法,有通过微 ...
- 基于DDD的.NET开发框架 - ABP依赖注入
返回ABP系列 ABP是“ASP.NET Boilerplate Project (ASP.NET样板项目)”的简称. ASP.NET Boilerplate是一个用最佳实践和流行技术开发现代WEB应 ...
- async 更优雅异步体验
上一篇<让 Generator 自启动>介绍了通过起动器让 Generator 跑起来,而本篇采用 async 实现更优雅的异步编程. 从例子开始 借用上一篇例子中的例子说起. funct ...
- linux命令行安装使用KVM
一.说明 本篇文章介绍的是基于centos环境来安装的,ip地址192.168.4.233 二.检查CPU是否支持虚拟技术 egrep 'vmx|svm' /proc/cpuinfo 如果有输出内容表 ...
- [C#解惑] #2 对象的初始化顺序
谜题 在上一篇C#解惑中,我们提到了对象的初始化顺序.当我们创建一个子类的实例时,总是会先执行基类的构造函数,然后再执行子类的构造函数.那么实例字段是什么时候初始化的呢?静态构造函数和静态字段呢?今天 ...
- BGP--边界网关协议
要全面了解BGP,首先我们要回答以下看上去很简单的问题:为什么需要BGP,也就是说BGP是如何产生的,它解决了什么问题.带着以上问题,我们先简单的回顾一个路由协议发展的轨迹. 首先路由的实质是描述一个 ...
- JPEG文件格式介绍
JPEG文件的存储格式有很多种,但最常用的是JFIF格式,即JPEG File Interchange Format.JPEG文件大体可以分为两个部分: (1)标记码:由两个字节构成,其中,前一个字节 ...
- 【Spring3.0系列】---Bean不同配置方式比较 和适用场合
Bean不同配置方式比较1.基于XML配置定义:在XML文件中通过<bean>元素定义Bean,例如<bean class="com.bbt.UserDao"/& ...
- js对象学习
1. 属性类型 数据属性 ①Configurable 表示能否通过delete删除属性,默认值true ②Enumerable 表示能否通过for-in循环访问属性,默认值true ③Writable ...
- Ceph Zabbix plugin 插件和模板
由于Ceph项目中的 Celemeter 缺乏告警功能和监控平台的统一性要求, YY 云平台Ceph集群的监控需求,都是在团队已有的zabbix平台基础上开发完成的. 在已有的git开源项目基础上做了 ...