time包

time包基于C语言的库函数(library functions)。Python的解释器通常是用C编写的,Python的一些函数也会直接调用C语言的库函数。

import time
print(time.time())   # wall clock time, unit: second
print(time.clock())  # processor clock time, unit: second

time.sleep()可以将程序置于休眠状态,直到某时间间隔之后再唤醒程序,让程序继续运行。

import time
print('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包

datetime包是基于time包的一个高级包, 为我们提供了多一层的便利。datetime可以理解为date和time两个组成部分。date是指年月日构成的日期(相当于日历),time是指时分秒微秒构成的一天24小时中的具体时间(相当于手表)。你可以将这两个分开管理(datetime.date类,datetime.time类),也可以将两者合在一起(datetime.datetime类)。
datetime模块定义了下面这几个类:

  • datetime.date:表示日期的类。常用的属性有year, month, day;
  • datetime.time:表示时间的类。常用的属性有hour, minute, second, microsecond;
  • datetime.datetime:表示日期时间。
  • datetime.timedelta:表示时间间隔,即两个时间点之间的长度。
  • datetime.tzinfo:与时区有关的相关信息。

比如2012年9月3日21时30分,可以用如下方式表达:

import datetime
t = datetime.datetime(2012,9,3,21,30)
print(t)

所返回的t有如下属性:
hour, minute, second, microsecond
year, month, day, weekday # weekday表示周几

datetime包还定义了时间间隔对象(timedelta)。一个时间点(datetime)加上一个时间间隔(timedelta)可以得到一个新的时间点(datetime)。比如今天的上午3点加上5个小时得到今天的上午8点。同理,两个时间点相减会得到一个时间间隔。

import datetime
t      = 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)

datetime对象与字符串转换

一个方法是用正则表达式来搜索字符串,用格式化读取的方式读取时间信息。

from datetime import datetime
format = "output-%Y-%m-%d-%H%M%S.txt" 
str    = "output-1997-12-23-030000.txt" 
t      = datetime.strptime(str, format)
  • strptime VS strftime
    strptime, p = parsing 分[剖]析,分解; 重构,将输入的日期时间字符串转换为指定的格式并读取。
    strftime, f = formatting 将时间对象转换为另外一种时间格式

具体的格式写法可参阅官方文档。 如果是Linux系统,也可查阅date命令的手册($man date),两者相通。
字符串日期时间格式:

格式字符 意义
%a 星期的简写。如 星期三为Web
%A 星期的全写。如 星期三为Wednesday
%b 月份的简写。如4月份为Apr
%B 月份的全写。如4月份为April
%c 日期时间的字符串表示。(如: 04/07/10 10:43:39)
%d 日在这个月中的天数(是这个月的第几天)
%f 微秒(范围[0,999999])
%H 小时(24小时制,[0, 23])
%I 小时(12小时制,[0, 11])
%j 日在年中的天数 [001,366](是当年的第几天)
%m 月份([01,12])
%M 分钟([00,59])
%p AM或者PM
%S 秒(范围为[00,61]?
%U 周在当年的周数当年的第几周),星期天作为周的第一天
%w 今天在这周的天数,范围为[0, 6],6表示星期天
%W 周在当年的周数(是当年的第几周),星期一作为周的第一天
%x 日期字符串(如:04/07/10)
%X 时间字符串(如:10:43:39)
%y 2个数字表示的年份
%Y 4个数字表示的年份
%z 与utc时间的间隔 (如果是本地时间,返回空字符串)
%Z 时区名称(如果是本地时间,返回空字符串)
%% %% => %
# 时间 有三种展现方式: 时间 戳, 时间 元组,格式化的 时间 print( time . time ())#当前 时间 戳 print(int( time . time ())) print( time .strf time ('%Y-%m-%d %H:%M:%S'))#格式化的 时间 print( time .strf time ('%Y-%m-%d')) print( time .strf time ('%H:%M:%S')) print( time .gm time ())#获取标准时区的 时间 元组,如果传入了 时间 戳,就是把 时间 戳转换成 时间 元组 print( time .gm time 1. time 模块:Unix 纪元 时间 戳( time 模块中使用)是一个浮点值或整型值,表示自 1970 年1 月 1 日午夜 0 点(UTC)以来的 2. time . time ()函数返回一个浮点值,表示当前时刻的 Unix 纪元 时间 戳。对 time . time ()函数使用round()函数可留取想要的 时间 小 数点位数。 3. time .sleep(seconds)函数让程序暂停 seconds ... @File: new_adjust_ time .py @Create Time : 2020/8/26 下午7:36 @Desc: 将字符串"2020-08-26T06:55:33.000Z" 时间 格式化 _date = datetime .strp time (target_ time , "%Y-%m-%dT%H:%M:%S.%fZ") datetime 的基本操作 python 中的 datetime 模块提供了操作日期和 时间 功能,是 time 模块的超集, 该模块提供了五种核心对象: datetime ( 时间 日期类型), date(日期类型), time 时间 类型), tzinfo(时区类型), time delta( 时间 差类型)。分别如下: 一、 datetime 对象 datetime 对象可以用来表示精确的日期和 时间 ,最常用的就是这个,常用的方法如下 from datetime import datetime # 实例对象 print( datetime Python 有很多 处理 日期和 时间 的方法,其中转换日期格式是最为常见的。下面先来介绍一下 Python 中的 时间 函数。通常来讲, 时间 戳表示的是从1970年1月1日00:00:00开始按秒计算的偏移量。返回 时间 戳的函数主要有 time ()、clock()等。t是可选参数,它是一个 时间 元组,后续会有介绍。接下来,通过一个案例来演示strf time 函数的使用,如例6-14所示。接下来,通过一个案例来演示,如例6-13所示。(3) 时间 元组(struct_ time )。例6-14 格式化的 时间 字符串。2.格式化的 时间 字符串。 一、简介在 python 中, datetime 是对日期数据进行 处理 的主要模块。无论何时你需要用 python 处理 日期数据, datetime 都能提供所需方法。 datetime python 标准库的一部分,这意味着你无须单独安装它。你可以用如下语句直接导入:import datetime datetime 模块共有以下类: datetime 类date 类 time time delta 类二、获... Python 内置两个关于 时间 处理 time datetime 。本文用于记录笔者在使用这两个 时的一些心得,将会不间断更新。 从命名上讲, time 提供 处理 时间 相关的函数, datetime 提供 处理 时间 日期相关的函数。 time time .sleep() time .sleep()是 time 中使用最频繁的函数之一,它接收一个参数,用于以单位秒指定睡眠 时间 ,任何调用该方法的线程都会阻塞至计时完成。 time .sleep(1) # 当前线程将睡眠1s time . time () 计时绕不开一个固定 时间 . 给定一个以秒为单位的 时间 t,要求用“HH:MM:SS”的格式来表示这个 时间 。HH表示 时间 ,MM 表示分钟, SS 表示秒,都是整数,不足2位时前面补“0”。例如,若 t = 1,则应输出是“00:00:01”;若 t = 3661,则输出“1:1:1”。 while True: now time = datetime . datetime .now().strf time ('%H:%M:%S') if(now time == '22:32:05'): #写自己调用的类和方法都可以 print(1) print(now 本篇介绍 python 中的第三方 时间 时间 是日常工作中常用的第三方 ,有 datetime time 两个 时间 。可以获取当前 时间 ,定义 时间 段, 时间 戳,用来对 时间 进行计算等。