正文
python当前时间函数的简单介绍
小程序:扫一扫查出行
【扫一扫了解最新限行尾号】
复制小程序
【扫一扫了解最新限行尾号】
复制小程序
python函数深入浅出 16.time.sleep()函数详解
time.sleep() 函数命名来源于英文单词time(时间)和sleep(睡眠)。
time 是python带的非内置库,使用时需要import,主要用于处理和时间相关的操作。
time.sleep用于给定时间内挂起(等待)当前线程的执行。
time.sleep() 函数的例子:
可以注释掉time.sleep(2)再运行一次对比一下
可以看到虽然都是打印出一样的结果,但time.sleep()加入python当前时间函数了等待时间
这里还要解释一下python中线程与进程的区别。
举个例子,厨房做菜看成是一个进程,那么这个进程下面就可能有多个人或一个人(cpu基本执行单元,即线程)来执行,多个人可以分别洗菜,刷碗,摆盘等等同时作业,python当前时间函数他们又是共享这个厨房的资源的。每个人存在一定的资源竞争关系,比如炉火只有1个。
这里time.sleep是针对线程执行的,也就是其中一个人去sleep睡觉了,不影响其他人的继续工作。
参数
该函数没有返回值。
结果类似如下:
可以看到秒数相差了5
无
time.sleep()常用于推迟执行的场景
在python中,与时间相关的模块有:time,datetime以及calendar
对基础运行环境有疑问的,推荐参考: python函数深入浅出 0.基础篇
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+编写一个程序,打印出执行1+1运行100次的时间?
import time
获取开始时间
start = time.time()
执行1+1运算100次
for i in range(100): a = 1 + 1
获取结束时间
end = time.time()
计算两个时间差
print("1+1运算100次程序的运行时间为:", end - start)
python之time模块
time 模块常用的与时间相关的类和函数:
time 模块的 struct_time 类代表一个时间对象python当前时间函数,可以通过 索引和属性名 访问值。 对应关系如下:
索引 —— 属性 值
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() 表示当前时间python当前时间函数,返回类型为 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获取当前时间前、后一个月的函数
这需求折腾了我半天..
import time
import datetime as datetime
def late_time(time2):
# 先获得时间数组格式的日期
#time2是外部传入的任意日期
now_time = datetime.datetime.strptime(time2, '%Y-%m-%d')
#如需求是当前时间则去掉函数参数改写 为datetime.datetime.now()
threeDayAgo = (now_time - datetime.timedelta(days =30))
# 转换为时间戳
timeStamp =int(time.mktime(threeDayAgo.timetuple()))
# 转换为其他字符串格式
otherStyleTime = threeDayAgo.strftime("%Y-%m-%d")
return otherStyleTime
a = late_time("2019-3-30")
print(a)# 打印2018-02-28
python当前时间函数的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于、python当前时间函数的信息别忘了在本站进行查找喔。