Python time库的时间时钟处理

前言

time库运行访问多种类型的时钟,这些时钟用于不同的场景。本篇,将详细讲解time库的应用知识。

获取各种时钟

既然time库提供了多种类型的时钟。下面我们直接来获取这些时钟,对比其具体的用途。具体代码如下:

import time

print(time.monotonic())
print(time.monotonic_ns())
print(time.perf_counter())
print(time.perf_counter_ns())
print(time.process_time())
print(time.process_time_ns())
print(time.time())
print(time.time_ns())

上面的代码具体的意义如下:

  • monotonic:用于测量一个长时间运行的进程的耗用时间,因为即使系统时间有改变,也能保证这个时钟不会逆转。
  • perf_counter:允许访问有最高可用分辨率的时钟,这使得短时间测量更为准确。
  • process_time:返回处理器时间和系统时间的组合结果。
  • time:返回从”纪元“开始以来的秒数。UNIX系统从1970年1月1日00:00开始计算。

运行之后,效果如下:

至于ns后缀,是返回纳秒时间。

获取当前时间

time.time()函数是获取”纪元“时间,是不是可以通过秒分时的换算计算出现在的日期时间呢?

当然可以,不过这太麻烦了,time库还给我们提供了更简单的函数time.ctime()获取当前的日期与时间。具体代码如下所示:

import time
print(time.ctime())

运行之后,效果如下:

这里返回了星期六:Sat,月份4月10号:Apr 10,年份:2021以及当前的时间。

时间加减法

如果你掌握了time.ctime()函数的参数用法,那么计算时间的加减法也可以轻而易举的实现。不过有一点需要注意,就是需要将加减的参数需全部换成秒。比如1天后,那么就是加86400。具体代码如下:

import time
#获取当前时间
print(time.ctime())
#获取当前时间
later=time.time()+86400
#计算一天后的时间
print(time.ctime(later))
#计算20秒后的时间
print(time.ctime(time.time()+20))

运行之后,效果如下:

strptime()函数

上面的代码虽然可以获取以及计算时间,但是获取的时间非常的笼统。比如说,日历应用程序,我只需要计算今天是星期几,并不需要知道其他数据怎么办?

显然,我们需要分离关键的时间数据。而time库提供了函数strptime()用于返回时间结构体数据struct_time对象。具体代码如下:

import time

now = time.ctime()
struct_time = time.strptime(now)
print("当前年份:", struct_time.tm_year)
print("当前月份:", struct_time.tm_mon)
print("当前日(年月日中的日):", struct_time.tm_mday)
print("当前小时数:", struct_time.tm_hour)
print("当前分钟数:", struct_time.tm_min)
print("当前星期:", struct_time.tm_wday+1)
print("今年过了{0}天(包括今天)".format(struct_time.tm_yday))

运行之后效果如下:

需要注意的是,程序中的星期一是0,tm_wday等于5,那么就需要加一,也就是等于星期六。

strftime()函数

通过strptime()函数,我们虽然能够获取到单一的日期相关的数据。但是我如果只想要当前的时间,怎么办?当然,你可以通过上面的分解,将时,分,秒分别转换为字符串然后拼接。不过这样太麻烦了,我们有个更简单的方法。

这里,我们就需要用到time.strftime()函数。用法如下:

import time

s = time.strftime("%H:%M:%S", time.localtime())
print(s)

运行之后,效果如下:

需要注意的是,strftime()函数的第2个参数接受一个struct_time对象。而time.localtime()的作用就是格式化时间戳为本地的时间,它有一个sec参数,也就是对应的time.time()函数的秒数,将秒数转换为标准的时间。如果没有参数,返回当前时间。

至于第1个参数,用特定的标识符,表示需要筛选的数据。具体用法如下表:

符号 含义
%y 两位数的年份表示(00-99)
%Y 四位数的年份表示(000-9999)
%m 月份(01-12)
%d 月内中的一天(0-31)
%H 24小时制小时数(0-23)
%I 12小时制小时数(01-12)
%M 分钟数(00=59)
%S 秒(00-59)
%a 本地简化星期名称
%A 本地完整星期名称
%b 本地简化的月份名称
%B 本地完整的月份名称
%c 本地相应的日期表示和时间表示
%j 年内的一天(001-366)
%p 本地A.M.或P.M.的等价符
%U 一年中的星期数(00-53)星期天为星期的开始
%w 星期(0-6),星期天为星期的开始
%W 一年中的星期数(00-53)星期一为星期的开始
%x 本地相应的日期表示
%X 本地相应的时间表示
%Z 当前时区的名称
%% %号本身

mktime()函数

假如现在我们有一个需求,就是自己输入时间的年月日时分秒,然后计算500秒后的时间点。怎么实现呢?

首先,我们需要实现time库的加法运算,就需要将我们输入的日期数据转换为time库可识别的日期数据,而time.mktime()函数能够将数字转换为time库的日期数据,然后再进行加减法运算。

具体操作如下:

import time

t = (2021, 2, 17, 17, 3, 38, 1, 48, 0)
second_time = time.mktime(t)
struct_time = time.localtime(second_time)
print(time.strftime("%Y-%m-%d %H:%M:%S", struct_time))

second_time2 = second_time + 500
struct_time = time.localtime(second_time2)
print(time.strftime("%Y-%m-%d %H:%M:%S", struct_time))

运行之后,效果如下:

需要注意的是,time.mktime()函数接受9位的元组数据,少一位都会报错。元组数据的意义分别为年,月,日,时,分,秒,星期几,今年第几天,是否为夏令时。当倒数2,3位数与前面日期冲突时,time.mktime()函数会自动修正。

gmtime()函数

这个函数不做过多的讲解,简单的理解就是返回UTC时区的struct_time对象。也就是国际协调时间。

具体用法如下:

import time

utc_now = time.gmtime()
print(utc_now)
print(time.strftime("%Y-%m-%d %H:%M:%S", utc_now))

运行之后,效果如下:

到此这篇关于Python time库的时间时钟处理的文章就介绍到这了,更多相关Python time库时间时钟内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • python语言time库和datetime库基本使用详解

    今天是边复习边创作博客的第三天,我今年大二,我们专业开的有这门课程,因为喜欢所以更加认真学习,本以为没人看呢,看了后台浏览量让我更加认真创作,这篇博客花了2个半小时的时间,结合自己所学,所思,所想写作,目的是为了方便喜欢Python的小白学习,也是一种自我鞭策吧! python语言使用内置time库和datetime库来处理日期时间 相关术语的解释 UTC time Coordinated Universal Time,世界协调时,又称 格林尼治天文时间.世界标准时间.与UTC time对应的是

  • python3中datetime库,time库以及pandas中的时间函数区别与详解

    1介绍datetime库之前 我们先比较下time库和datetime库的区别 先说下time 在 Python 文档里,time是归类在Generic Operating System Services中,换句话说, 它提供的功能是更加接近于操作系统层面的.通读文档可知,time 模块是围绕着 Unix Timestamp 进行的. 该模块主要包括一个类 struct_time,另外其他几个函数及相关常量. 需要注意的是在该模块中的大多数函数是调用了所在平台C library的同名函数, 所以

  • 详解Python time库的使用

    一.时间获取函数 >>> import time >>> time.time() 1570530861.740123 >>> time.ctime() 'Tue Oct 8 18:34:27 2019' >>> time.gmtime() time.struct_time(tm_year=2019, tm_mon=10, tm_mday=8, tm_hour=10, tm_min=34, tm_sec=52, tm_wday=1, t

  • 使用Python的datetime库处理时间(RPA流程)

    RPA流程自动化过程中,遇到时间的相关操作时,可以调用datetime库的一些方法进行处理. datetime 是 Python 处理日期和时间的标准库. 1.获取当前日期和时间 我们先看如何获取当前日期和时间: >>> from datetime import datetime >>> now = datetime.now() >>> print(now) 2019-11-23 11:12:32.715604 >>> print(t

  • Python基础之time库详解

    一.前言 time库运行访问多种类型的时钟,这些时钟用于不同的场景.本篇,将详细讲解time库的应用知识. 二.获取各种时钟 既然time库提供了多种类型的时钟.下面我们直接来获取这些时钟,对比其具体的用途.具体代码如下: import time print(time.monotonic()) print(time.monotonic_ns()) print(time.perf_counter()) print(time.perf_counter_ns()) print(time.process

  • python中time库的实例使用方法

    time是python中处理时间的标准库 计算机时间的表达 提供获取系统时间并格式化输出功能 提供系统级精确计时功能,用于程序性能分析 用法:import time 函数调用:time.<b>() time库的三类函数: 时间获取:time()ctime()gmtime() 时间格式化:steftime() strptime() 程序计时:sleep()perf_counter() 函数的作用: 时间获取: time.time() 获取当前时间,浮点数 time.ctime()获取当前时间并以

  • Python time库基本使用方法分析

    本文实例讲述了Python time库基本使用方法.分享给大家供大家参考,具体如下: 时间获取 time() 获取当前时间戳,为一个浮点数 >>>time.time() 1516939876.6022282 ctime() 获取当前时间并以易读方式表示,返回字符串 >>>time.ctime() 'Fri Jan 26 12:11:11 2018' gmtime() 获取当前时间,表示为计算机可处理的时间格式 >>>time.gmtime() time

  • Python time库的时间时钟处理

    前言 time库运行访问多种类型的时钟,这些时钟用于不同的场景.本篇,将详细讲解time库的应用知识. 获取各种时钟 既然time库提供了多种类型的时钟.下面我们直接来获取这些时钟,对比其具体的用途.具体代码如下: import time print(time.monotonic()) print(time.monotonic_ns()) print(time.perf_counter()) print(time.perf_counter_ns()) print(time.process_tim

  • 详解Python常用标准库之时间模块time和datetime

    目录 time时间模块 time -- 获取本地时间戳 localtime -- 获取本地时间元组(UTC) gmtime -- 获取时间元组(GMT) mktime -- 时间元组获取时间戳 ctime -- 获取时间字符串 asctime -- 时间元组获取时间字符串 strftime -- 格式化时间 strptime -- 格式化时间 sleep -- 时间睡眠 perf_counter -- 时间计时 模拟进度条 程序计时 时间转换示意图 datetime时间模块 date类 time

  • Python标准库之日期、时间和日历模块

    一.time时间模块 import time 1 .时间戳:time.time() 时间戳(timestamp):时间戳表示的是从1970年1月1日00:00:00开始按秒计算的偏移量. 时间戳单位最适于做日期运算.但是1970年之前的日期就无法以此表示了.太遥远的日期也不行,UNIX和Windows只支持到2038年. time_stamp = time.time() print(time_stamp, type(time_stamp)) # 1574923359.1739607 <class

  • python memory_profiler库生成器和迭代器内存占用的时间分析

    不进行计算时,生成器和list空间占用 import time from memory_profiler import profile @profile(precision=4) def list_fun(): start = time.time() total = ([i for i in range(5000000)]) print('iter_spend_time:',time.time()-start) @profile(precision=4) def gent_func(): gen

  • python标准库之time模块的语法与简单使用

    目录 表示时间的方式 1. 调用语法: 2. time概述 3. 时间获取 4. 时间格式化(将时间以合理的方式展示出来) 5. 程序计时应用 6. 示例 总结 表示时间的方式 时间戳表示法: 即以整型或浮点型表示的是一个以秒为单位的时间间隔.这个时间的基础值是从1970年的1月1号零点开始算起. 格式化的时间字符串: 即以格式化字符串的格式输出时间形式. 元组格式表示法: 即一种Python的数据结构表示.这个元组有9个整型内容(不能少),分别表示不同的时间含义. 索引(Index) 属性(A

  • Python标准库uuid模块(生成唯一标识)详解

    目录 UUID格式组成 Python 中的uuid 模块 uuid1() 中的getnode() UUID实际应用 UUID 的劣势 参考资料: 总结 UUID (Universally Unique Identifier,通用唯一标识)是一个128位的用于计算机系统中以识别信息的数目,虽然生成UUID的概率不为零,但是无限接近零,因此可以忽略不记,如此一来,每个人都可以建立不与其他人冲突的UUID. UUID格式组成 规范的文本中,UUID的十六个八位字节标识位32个十六进制(基数16)数字,

  • Python标准库time使用方式详解

    目录 1.time库 1.1.获取格林威治西部的夏令时地区的偏移秒数 1.2.时间函数 1.3.格式化时间.日期 1.4.单调时钟 1.time库 时间戳(timestamp)的方式:通常来说,时间戳表示的是从1970年1月1日00:00:00开始按秒计算的偏移量 结构化时间(struct_time)方式:struct_time元组共有9个元素 格式化的时间字符串(format_string),时间格式的字符串 1.1.获取格林威治西部的夏令时地区的偏移秒数 如果该地区在格林威治东部会返回负值(

  • python第三方库pygame的使用详解

    作用:pygame一般用来做游戏 注意:1.在使用pygame提供的功能之前,需要调用init方法 2.在游戏结束前需要调用 quit 方法 pygame中的各个函数: 1.pygame.init():该函数在使用pygame时进行初始化,只有引用了该函数才能使用pygame提供的所用功能 2.pygame.Rect():该函数可以设置一张图片的位置以及大小,这是一个特殊的函数,不需要引用init函数都可以使用 3.pygame.display.set_mode(resolution=(0,0)

  • 使用Python标准库中的wave模块绘制乐谱的简单教程

    在本文中,我们将探讨一种简洁的方式,以此来可视化你的MP3音乐收藏.此方法最终的结果将是一个映射你所有歌曲的正六边形网格地图,其中相似的音轨将处于相邻的位置.不同区域的颜色对应不同的音乐流派(例如:古典.嘻哈.重摇滚).举个例子来说,下面是我所收藏音乐中三张专辑的映射图:Paganini的<Violin Caprices>.Eminem的<The Eminem Show>和Coldplay的<X&Y>. 为了让它更加有趣(在某些情况下更简单),我强加了一些限制.

  • python操作日期和时间的方法

    不管何时何地,只要我们编程时遇到了跟时间有关的问题,都要想到 datetime 和 time 标准库模块,今天我们就用它内部的方法,详解python操作日期和时间的方法.1.将字符串的时间转换为时间戳 复制代码 代码如下: 方法:a = "2013-10-10 23:40:00"#将其转换为时间数组import timetimeArray = time.strptime(a, "%Y-%m-%d %H:%M:%S")#转换为时间戳:timeStamp = int(t

随机推荐