当前位置:首页 » 编程语言 » pythontime比较

pythontime比较

发布时间: 2023-01-18 10:19:47

python之time模块

time 模块常用的与时间相关的类和函数:

time 模块的 struct_time 类代表一个时间对象,可以通过 索引和属性名 访问值。 对应关系如下:

索引 —— 属性 值
0 —— tm_year(年) 如:1945
1 —— tm_mon(月) 1 ~ 12
2 —— tm_mday(日) 1 ~ 31
3 —— tm_hour(时) 0 ~ 23
4 —— tm_min(分) 0 ~ 59
5 —— tm_sec(秒) 0 ~ 61
6 —— tm_wday(周) 0 ~ 6
7 —— tm_yday(一年内第几天) 1 ~ 366
8 —— tm_isdst(夏时令) -1、0、1

localtime() 表示当前时间,返回类型为 struct_time 对象 ,示例如下所示:

输出结果:

time()——返回当前时间的时间戳
gmtime([secs])——将时间戳转换为格林威治天文时间下的 struct_time,可选参数 secs 表示从 epoch 到现在的秒数,默认为当前时间
localtime([secs])——与 gmtime() 相似,返回当地时间下的 struct_time
mktime(t) localtime() 的反函数
asctime([t]) 接收一个 struct_time 表示的时间,返回形式为:Mon Dec 2 08:53:47 2019 的字符串
ctime([secs]) ctime(secs) 相当于 asctime(localtime(secs))
strftime(format[, t]) 格式化日期,接收一个 struct_time 表示的时间,并返回以可读字符串表示的当地时间
sleep(secs) 暂停执行调用线程指定的秒数
altzone 本地 DST 时区的偏移量,以 UTC 为单位的秒数
timezone 本地(非 DST)时区的偏移量,UTC 以西的秒数(西欧大部分地区为负,美国为正,英国为零)
tzname 两个字符串的元组:第一个是本地非 DST 时区的名称,第二个是本地 DST 时区的名称

基本使用如下所示:

strftime 函数日期格式化符号说明如下所示:

② python函数深入浅出 16.time.sleep()函数详解

time.sleep() 函数命名来源于英文单词time(时间)和sleep(睡眠)。
time 是python带的非内置库,使用时需要import,主要用于处理和时间相关的操作。
time.sleep用于给定时间内挂起(等待)当前线程的执行。
time.sleep() 函数的例子:

可以注释掉time.sleep(2)再运行一次对比一下

可以看到虽然都是打印出一样的结果,但time.sleep()加入了等待时间

这里还要解释一下python中线程与进程的区别。

举个例子,厨房做菜看成是一个进程,那么这个进程下面就可能有多个人或一个人(cpu基本执行单元,即线程)来执行,多个人可以分别洗菜,刷碗,摆盘等等同时作业,他们又是共享这个厨房的资源的。每个人存在一定的资源竞争关系,比如炉火只有1个。

这里time.sleep是针对线程执行的,也就是其中一个人去sleep睡觉了,不影响其他人的继续工作。

参数

该函数没有返回值。

结果类似如下:

可以看到秒数相差了5



time.sleep()常用于推迟执行的场景

在python中,与时间相关的模块有:time,datetime以及calendar

对基础运行环境有疑问的,推荐参考: python函数深入浅出 0.基础篇

③ 有人知道在Python中如何判断时间过去了1秒么有木有这样的函数如何运用急!!!

利用Python自带的time模块,time.time()获取当前的时间(以秒为单位),利用两次获取time.time()的时间差“==1”,即可确定时间过去了1秒。

如要求时间过去1秒后才可以执行后面的代码有两种方式:

(1)import time

time_before = time.time()

time_after = time.time()

while time_after - time_before <1:

time_after = time.time()

......................................后续代码

(2)import time

time.sleep(1) #让代码在这里休息1秒钟生再执行后面的代码

......................................后续代码

④ python 怎么比较两个datetime

用大于号,小于号
注意到datatime对着两个运算符重载的很好

⑤ Python中如何用time计算时间差

1
首先我们需要import
datetime,导入日期处理库
2
然后把日期转化成datetime标准格式,如下图所示使用datetime.datetime.strptime方法将字符串格式的时间转化为标准格式
3
其中"%Y/%m/%d
%H:%M:%S"为time字符串的时间格式
Y为年,m为月,d为天,H为小时,M为分钟,S为秒,执行转化结果如下
4
下面如果我们要加的时间是天则如下图,当前时间加上datetime.timedelta(days=1)。datetime的timedelta方法实现
5
同理如果要加的时间是小时则如下,当前时间加上datetime.timedelta(hour
s=1)
6
同理如果要加的时间是分钟则如下,当前时间加上datetime.timedelta(minutes=1)
7
如果加的时间是s的话,如下当前时间加上datetime.timedelta(seconds=1)
8
如果是加年的话需要把年数转化成day再做计算

⑥ python中的time模块

time模块是python专门用来处理时间的内建库。
下面我们来记录一些基本使用方法。
ps: 用到了一些概念,比如unix时间戳,感兴趣的同学自行网络。

下文参考他人博客内容, 传送门

time.time()函数获取的是Unix时间戳。
返回的是一个float类型的数值。

在python中的time模块中定义了一个叫struct_time的元组,是用来构建时间对象的。
struct_time元组共9个元素组成,如下图:

这个函数可以接受一个unix时间戳,然后转换为struct_time。
如果不传入second参数,则会返回当前时间的时间戳的struct_time对象

再试试传入当前时间的时间戳,是否能得到上面的struct_time呢?

和我们预期的结果一致。

和localtime函数类似,默认情况gmtime函数获取当前时间的utc时间。
返回当前时间的utc时间的struct_time对象。
也可以传入任意的unix时间戳,来得到utc时间。

将一个时间戳struct_time对象转换为时间戳。

传入一个struct_time对象,返回"Sun Jun 20 23:21:05 1993"这种格式的字符串。不传参数,返回当前时间的这种格式的字符串。

传入格式和struct_time,返回按照format格式格式化后的时间字符串。

格式占位符可以参考下图:

将字符串时间转为struct_time,time.strftime()的逆向操作。

⑦ python日期加减比较问题请教

#time模块实现,也是自带的
#字符串不好计算~但是时间戳是固定的呀...
#计算结果中,假定今天24日,输入24,输出0天,输入25,输出-1天
importtime


deff(tm):
stamp=time.mktime(time.strptime(tm,"%Y%m%d"))
diff=int((time.time()-stamp)//86400)
ifdiff<=180:
return{tm:str(diff)}
else:
d={}
whilediff>180:
d[tm]=180
stamp+=180*86400
diff=int((time.time()-stamp)//86400)
#注意这里time.gmtime()返回的是0时区日期,需要处理时区问题
tm=time.strftime("%Y%m%d",time.gmtime(stamp-time.timezone))
else:
d[tm]=str(diff)
returnd

if__name__=='__main__':
tm='20160325'
print(f(tm))
tm='20171015'
print(f(tm))
#结果输出,注意:字典是没有固定顺序的
'''
{'20160921':180,'20170320':180,'20170916':'38','20160325':180}
{'20171015':'9'}
'''

⑧ 如何在python中比较微秒时间差

python中的最小时间单位是毫秒,没办法精确到微秒
用time包的time()函数可以获得当前计算机的挂钟时间,利用它可以获得时间差
import time
time1 = time.time()
#要度量时间的程序
time2 = time.time()
print time2 - time1

⑨ python怎样比较两个字符串时间

举例,一个时间偏移后的比较情况:

1 #-*-coding=utf-8-*-
2 __author__='zhongtang'
3
4 '''
5 时间戳与字符串的互相转换
6 '''
7
8 import time
9
10 localtime1=time.localtime()
11 time.sleep(5)
12 localtime2=time.localtime(time.time())
13
14 print type(localtime1),localtime1
15 print type(localtime2),localtime2
16
17 gmtime=time.gmtime(time.time())
18 print type(gmtime),gmtime
19
20
21 strtime1='20160518010101'
22 strtime2='20160518020101'
23
24 #字符串变成时间数据结构
25 localtime1=time.strptime(strtime1,'%Y%m%d%H%M%S')
26 localtime2=time.strptime(strtime2,'%Y%m%d%H%M%S')
27
28 print type(localtime1),localtime1
29 print type(localtime2),localtime2
30
31
32 #从时间数据结构转换成时间戳
33 time1= time.mktime(localtime1)
34 time2= time.mktime(localtime2)
35
36 print type(time1),time1
37 print type(time2),time2
38
39 #时间戳可以直接相减,得到以秒为单位的差额
40 print time2-time1

 

 

输出结果

1 <type 'time.struct_time'> time.struct_time(tm_year=2016, tm_mon=5, tm_mday=19, tm_hour=9, tm_min=9, tm_sec=30, tm_wday=3, tm_yday=140, tm_isdst=0)
2 <type 'time.struct_time'> time.struct_time(tm_year=2016, tm_mon=5, tm_mday=19, tm_hour=9, tm_min=9, tm_sec=35, tm_wday=3, tm_yday=140, tm_isdst=0)
3 <type 'time.struct_time'> time.struct_time(tm_year=2016, tm_mon=5, tm_mday=19, tm_hour=1, tm_min=9, tm_sec=35, tm_wday=3, tm_yday=140, tm_isdst=0)
4 <type 'time.struct_time'> time.struct_time(tm_year=2016, tm_mon=5, tm_mday=18, tm_hour=1, tm_min=1, tm_sec=1, tm_wday=2, tm_yday=139, tm_isdst=-1)
5 <type 'time.struct_time'> time.struct_time(tm_year=2016, tm_mon=5, tm_mday=18, tm_hour=2, tm_min=1, tm_sec=1, tm_wday=2, tm_yday=139, tm_isdst=-1)
6 <type 'float'> 1463504461.0
7 <type 'float'> 1463508061.0
8 3600.0

⑩ Python测量程序运行时间,time.time与time.clock

现象描述:

1、time.clock 在win系统和linux系统下对相同程序的计时结果不一致

2、到底应该用什么时间计时?为什么用time.time与time.clock计时会有那么大的差异

在计算机领域有多种时间。

第一种称作CPU时间或执行时间,用于测量在执行一个程序时CPU所花费的时间。第二种称作挂钟时间,测量执行一个程序时的总时间。挂钟时间也被称作流逝时间或运行时间。与CPU时间相比,挂钟时间通常长些,因为CPU执行测量的程序可能同时还在执行其它程序的指令。

另一个重要概念是所谓的系统时间,由系统时钟测量。系统时间表示计算机系统时间传递的概念。要记住系统时钟是可以由操作系统修改的,就是修改系统时间。

在Unix系统上,time.time的作用与Windows相同,但time.clock的意义不同。

在Unix系统上,time.clock以秒为单位返回当前处理器时间,例如,执行当前线程所花费的CPU时间。而在Windows上,它是以秒为单位的返回自首次调用该函数以来所流逝的系统时间。

以我遇到的Ubuntu系统上运行time.time和time.clock的例子:

time.time()显示系统时间过去大概1秒,而time.clock()显示花费在当前进程上的CPU时间只有于1毫秒。

而win下time.time()和time.clock()显示系统时间都是大致过去了1秒

在测量程序准确性能时应该使用哪一个呢?

这要视情况而定。如果程序运行的系统能够提供足够的资源给程序,例如,一个运行基于Python的web应用程序的web服务器,则使用time.clock()来测量程序会更有意义,因这个web应用程序可能是服务器上的主要程序 。如果程序运行的系统上还同时运行着其它大量程序,则使用time.time()进行测量会更有意义。 如果不是这样,就应该使用基于挂钟的计时器来测量程序的性能,因为这样通常能反应程序的环境。

放结论,一般情况下:

1、win用time.clock或time.time

2、linux 下用time.time  或 datetime.datetime.now().timestamp()

【1】(重要)https://blog.csdn.net/ao985438294363006/article/details/101349790    Python测量时间,用time.time还是time.clock 

热点内容
c编译时多态 发布:2025-07-17 05:56:00 浏览:843
软件服务器超时是什么意思 发布:2025-07-17 05:55:59 浏览:349
c语言期末试卷 发布:2025-07-17 05:49:58 浏览:404
64位access数据库 发布:2025-07-17 05:35:58 浏览:374
php文件的相对路径 发布:2025-07-17 05:34:22 浏览:711
矢量的叉乘运算法则 发布:2025-07-17 05:29:41 浏览:661
dell云存储服务器 发布:2025-07-17 05:21:06 浏览:255
铣床怎么编程 发布:2025-07-17 05:20:29 浏览:776
sql11oracle 发布:2025-07-17 05:15:39 浏览:744
全国各地移动dns服务器ip地址 发布:2025-07-17 05:07:47 浏览:312