- ubuntu12.04环境下使用kvm ioctl接口实现最简单的虚拟机
- Ubuntu 通过无线网络安装Ubuntu Server启动系统后连接无线网络的方法
- 在Ubuntu上搭建网桥的方法
- ubuntu 虚拟机上网方式及相关配置详解
CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.
这篇CFSDN的博客文章Python time库的时间时钟处理由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.
time库运行访问多种类型的时钟,这些时钟用于不同的场景。本篇,将详细讲解time库的应用知识.
既然time库提供了多种类型的时钟。下面我们直接来获取这些时钟,对比其具体的用途。具体代码如下:
1
2
3
4
5
6
7
8
9
10
|
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())
|
上面的代码具体的意义如下:
运行之后,效果如下:
至于ns后缀,是返回纳秒时间.
time.time()函数是获取”纪元“时间,是不是可以通过秒分时的换算计算出现在的日期时间呢?
当然可以,不过这太麻烦了,time库还给我们提供了更简单的函数time.ctime()获取当前的日期与时间。具体代码如下所示:
1
2
|
import
time
print
(time.ctime())
|
运行之后,效果如下:
这里返回了星期六:sat,月份4月10号:apr 10,年份:2021以及当前的时间.
如果你掌握了time.ctime()函数的参数用法,那么计算时间的加减法也可以轻而易举的实现。不过有一点需要注意,就是需要将加减的参数需全部换成秒。比如1天后,那么就是加86400。具体代码如下:
1
2
3
4
5
6
7
8
9
|
import
time
#获取当前时间
print
(time.ctime())
#获取当前时间
later
=
time.time()
+
86400
#计算一天后的时间
print
(time.ctime(later))
#计算20秒后的时间
print
(time.ctime(time.time()
+
20
))
|
运行之后,效果如下:
上面的代码虽然可以获取以及计算时间,但是获取的时间非常的笼统。比如说,日历应用程序,我只需要计算今天是星期几,并不需要知道其他数据怎么办?
显然,我们需要分离关键的时间数据。而time库提供了函数strptime()用于返回时间结构体数据struct_time对象。具体代码如下:
1
2
3
4
5
6
7
8
9
10
11
|
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,那么就需要加一,也就是等于星期六.
通过strptime()函数,我们虽然能够获取到单一的日期相关的数据。但是我如果只想要当前的时间,怎么办?当然,你可以通过上面的分解,将时,分,秒分别转换为字符串然后拼接。不过这样太麻烦了,我们有个更简单的方法.
这里,我们就需要用到time.strftime()函数。用法如下:
1
2
3
4
|
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 | 当前时区的名称 |
%% | %号本身 |
。
假如现在我们有一个需求,就是自己输入时间的年月日时分秒,然后计算500秒后的时间点。怎么实现呢?
首先,我们需要实现time库的加法运算,就需要将我们输入的日期数据转换为time库可识别的日期数据,而time.mktime()函数能够将数字转换为time库的日期数据,然后再进行加减法运算.
具体操作如下:
1
2
3
4
5
6
7
8
9
10
|
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()函数会自动修正.
这个函数不做过多的讲解,简单的理解就是返回utc时区的struct_time对象。也就是国际协调时间.
具体用法如下:
1
2
3
4
5
|
import
time
utc_now
=
time.gmtime()
print
(utc_now)
print
(time.strftime(
"%y-%m-%d %h:%m:%s"
, utc_now))
|
运行之后,效果如下:
到此这篇关于python time库的时间时钟处理的文章就介绍到这了,更多相关python time库时间时钟内容请搜索我以前的文章或继续浏览下面的相关文章希望大家以后多多支持我! 。
原文链接:https://blog.csdn.net/liyuanjinglyj/article/details/115572601 。
最后此篇关于Python time库的时间时钟处理的文章就讲到这里了,如果你想了解更多关于Python time库的时间时钟处理的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。
您好,我是使用 xampp 的 PHPmyadmin 新手,没有 MYSQL 背景。当我喜欢研究它是如何工作的时,我的脑海中浮现出一个想法,它让我一周都无法休眠,因为我似乎无法弄清楚如何使用 MIN(
Go docs say (强调): Programs using times should typically store and pass them as values, not pointers.
我有一组用户在 8 月 1 日有一个条目。我想找到在 8 月 1 日有条目但在 8 月 2 日没有做任何事情的用户。 现在是 10 月,所以事件已经过去很久了。 我有限的知识说: SELECT * F
我有以下代码,主要编码和取消编码时间结构。这是代码 package main import ( "fmt" "time" "encoding/json" ) type chec
您能详细解释一下“用户 CPU 时间”和“系统 CPU 时间”吗?我读了很多,但我不太理解。 最佳答案 区别在于时间花在用户空间还是内核空间。用户 CPU 时间是处理器运行程序代码(或库中的代码)所花
应用程序不计算东西,但做输入/输出、读取文件、使用网络。我希望探查器显示它。 我希望像 callgrind 中的东西一样,在每个问题中调用 clock_gettime。 或者像 oprofile 那样
目前我的 web 应用程序接收 websocket 数据来触发操作。 这会在页面重新加载时中断,因此我需要一个能够触发特定事件的客户端解决方案。 这个想法可行吗? 假设你有 TimeX = curre
很难说出这里问的是什么。这个问题是含糊的、模糊的、不完整的、过于宽泛的或修辞性的,无法以目前的形式得到合理的回答。如需帮助澄清此问题以便重新打开它,visit the help center 。 已关
我有一个 Instant (org.joda.time.Instant) 的实例,我在一些 api 响应中得到它。我有另一个来自 (java.time.Instant) 的实例,这是我从其他调用中获得
如何集成功能 f(y) w.r.t 时间;即 'y'是一个包含 3000 个值和值 time(t) 的数组从 1 到 3000 不等。所以,在整合 f(y) 后我需要 3000 个值. 积分将是不确定
可以通过 CLI 创建命名空间,但是如何使用 Java SDK 来创建命名空间? 最佳答案 它以编程方式通过 gRPC API 完成由服务公开。 在 Java 中,生成的 gRPC 客户端可以通过 W
我有一个函数,它接受 2 组日期(开始日期和结束日期),这些日期将用于我的匹配引擎 我必须知道start_date1和end_date1是否在start_date2和end_date2内 快进:当我在
我想从 Python 脚本运行“time”unix 命令,以计算非 Python 应用程序的执行时间。我会使用 os.system 方法。有什么方法可以在Python中保存这个输出吗?我的目标是多次运
我正在寻找一种“漂亮的数字”算法来确定日期/时间值轴上的标签。我熟悉 Paul Heckbert's Nice Numbers algorithm . 我有一个在 X 轴上显示时间/日期的图,用户可以
在 PowerShell 中,您可以格式化日期以返回当前小时,如下所示: Get-Date -UFormat %H 您可以像这样在 UTC 中获取日期字符串: $dateNow = Get-Date
我正在尝试使用 Javascript 向父子窗口添加一些页面加载检查功能。 我的目标是“从父窗口”检测,每次子窗口完全加载然后执行一些代码。 我在父窗口中使用以下代码示例: childPage=wi
我正在尝试设置此 FFmpeg 命令的 drawtext 何时开始,我尝试使用 start_number 但看起来它不会成功。 ffmpeg -i 1.mp4 -acodec aac -keyint_
我收到了一个 Excel (2010) 电子表格,它基本上是一个文本转储。 单元格 - J8 具有以下信息 2014 年 2 月 4 日星期二 00:08:06 EST 单元格 - L8 具有以下信息
我收到的原始数据包含一列具有以下日期和时间戳格式的数据: 2014 年 3 月 31 日凌晨 3:38 单元格的格式并不一致,因为有些单元格有单个空格,而另一些单元格中有两个或三个字符之间的空格。所以
我想知道是否有办法在我的 Grails 应用程序顶部显示版本和构建日期。 编辑:我应该说我正在寻找构建应用程序的日期/时间。 最佳答案 在您的主模板中,或任何地方。 Server version:
我是一名优秀的程序员,十分优秀!