Python标准库2 时间包
来源:互联网 发布:网络适应广电总局 编辑:程序博客网 时间:2024/06/05 23:09
time包
time包基于C语言的库函数(library functions)。Python的解释器通常是用C编写的,Python的一些函数也会直接调用C语言的库函数。
import timeprint(time.time()) # wall clock time, unit: secondprint(time.clock()) # processor clock time, unit: second
time.sleep()可以将程序置于休眠状态,直到某时间间隔之后再唤醒程序,让程序继续运行。
import timeprint('start')time.sleep(10) # sleep for 10 secondsprint('wake up')
当我们需要定时地查看程序运行状态时,就可以利用该方法。
time包还定义了struct_time对象。该对象实际上是将挂钟时间转换为年、月、日、时、分、秒……等日期信息,存储在该对象的各个属性中(tm_year, tm_mon, tm_mday…)。下面方法可以将挂钟时间转换为struct_time对象:
st = time.gmtime() # 返回struct_time格式的UTC时间
st = time.localtime() # 返回struct_time格式的当地时间, 当地时区根据系统环境决定。
s = time.mktime(st) # 将struct_time格式转换成wall clock time
datetime包
1) 简介
datetime包是基于time包的一个高级包, 为我们提供了多一层的便利。
datetime可以理解为date和time两个组成部分。date是指年月日构成的日期(相当于日历),time是指时分秒微秒构成的一天24小时中的具体时间(相当于手表)。你可以将这两个分开管理(datetime.date类,datetime.time类),也可以将两者合在一起(datetime.datetime类)。由于其构造大同小异,我们将只介绍datetime.datetime类。
比如说我现在看到的时间,是2012年9月3日21时30分,我们可以用如下方式表达:
import datetimet = datetime.datetime(2012,9,3,21,30)print(t)
所返回的t有如下属性:
hour, minute, second, microsecond
year, month, day, weekday # weekday表示周几
2) 运算
datetime包还定义了时间间隔对象(timedelta)。一个时间点(datetime)加上一个时间间隔(timedelta)可以得到一个新的时间点(datetime)。比如今天的上午3点加上5个小时得到今天的上午8点。同理,两个时间点相减会得到一个时间间隔。
import datetimet = datetime.datetime(2012,9,3,21,30)t_next = datetime.datetime(2012,9,5,23,30)delta1 = datetime.timedelta(seconds = 600)delta2 = datetime.timedelta(weeks = 3)print(t + delta1)print(t + delta2)print(t_next - t)
在给datetime.timedelta传递参数(如上的seconds和weeks)的时候,还可以是days, hours, milliseconds, microseconds。
两个datetime对象还可以进行比较。比如使用上面的t和t_next:
print(t > t_next)
3) datetime对象与字符串转换
假如我们有一个的字符串,我们如何将它转换成为datetime对象呢?
一个方法是用上一讲的正则表达式来搜索字符串。但时间信息实际上有很明显的特征,我们可以用格式化读取的方式读取时间信息。
from datetime import datetimeformat = "output-%Y-%m-%d-%H%M%S.txt" str = "output-1997-12-23-030000.txt" t = datetime.strptime(str, format)strptime, p = parsing
我们通过format来告知Python我们的str字符串中包含的日期的格式。在format中,%Y表示年所出现的位置, %m表示月份所出现的位置……。
反过来,我们也可以调用datetime对象的strftime()方法,来将datetime对象转换为特定格式的字符串。比如上面所定义的t_next,
print(t_next.strftime(format))
- Python标准库2 时间包
- Python标准库02 时间与日期 (time, datetime包)
- Python标准库02 时间与日期 (time, datetime包)
- Python标准库02 时间与日期 (time, datetime包)
- Python标准库02 时间与日期 (time, datetime包)
- Python标准库11 时间与日期 (time, datetime包)
- Python标准库02 时间与日期 (time, datetime包)
- Python学习笔记9:标准库之日期时间(time包,datetime包)
- Python标准库 (pickle包,cPickle包)
- 2.Python标准库_ 时间与日期 (time, datetime包)
- Python标准库 正则表达式 (re包)
- Python标准库之正则表达式包
- Python标准库之time, datetime包
- Python标准库之glob包
- Python标准库:子进程 (subprocess包)
- python标准库之多进程 (multiprocessing包)
- Python标准库cPickle包如何使用?
- Python标准库05 存储对象 (pickle包,cPickle包)
- EventBus和otto消息机制在Android Studio中的简单使用
- 项目总结
- android Context
- Webstorm 添加 .vue 文件功能并支持高亮和ES6语法
- centos6安装redis
- Python标准库2 时间包
- 搭建VM的虚拟机下hadoop集群环境
- caioj1063:动态规划入门(一维一边推1:美元和马克)
- srcAdd.jsp用于解决java.lang.NoSuchMethodError
- Excel 设置数字以万为单位显示以更准确地表达数目
- stl-map/set
- Java_Proxy
- 学生信息管理系统的构建3--自定义类模板
- WebStorm ES6 语法支持设置