time模块(python)

news2024/11/19 11:18:40

一.sleep休眠

[root@rhel8 day04]# vim demo01_time.py
import time
def banzhuan():
    print("搬砖")
    time.sleep(3.5)  #让程序休眠3.5秒
    print("结束")

banzhuan()

[root@rhel8 day04]# python3 demo01_time.py 
搬砖
结束

运行时,会发现程序中间暂停了3.5秒

二.time.time时间戳

从1970年1月1日00:00:00开始,到现在的秒数

[root@rhel8 day04]# vim demo01_time.py
print(time.time())
[root@rhel8 day04]# python3 demo01_time.py 
1702115925.7090266

可以利用上面自定义的函数+时间戳,验证sleep的效果,用程序执行后的时间戳减去程序执行前的时间戳,查看得到的秒数

[root@rhel8 day04]# vim demo01_time.py
import time
def banzhuan():
    print("搬砖")
    time.sleep(3.5)  #让程序休眠3.5秒
    print("结束")



time1 = time.time()
banzhuan()
time2 = time.time()
print("spend:",time2-time1)
[root@rhel8 day04]# python3 demo01_time.py 
搬砖
结束
spend: 3.5039751529693604

结果显示,中间暂停了3.5秒。

三.结构化时间

将时间戳转换为UTC时区的结构化时间

[root@rhel8 day04]# vim demo01_time.py
import time

print(time.gmtime(time.time()))
[root@rhel8 day04]# python3 demo01_time.py 
time.struct_time(tm_year=2023, tm_mon=12, tm_mday=9, tm_hour=10, tm_min=3, tm_sec=49, tm_wday=5, tm_yday=343, tm_isdst=0)

time.struct_time(tm_year=2023, tm_mon=12, tm_mday=9, tm_hour=10, tm_min=3, tm_sec=49, tm_wday=5, tm_yday=343, tm_isdst=0) 

可以得到九个字段,每个字段分别代表:

tm_year代表年份
tm_mon代表月份
tm_mday代表当月的第几天
tm_hourUTC时区的时间,换算成北京时间需要加八个小时
tm_min小时的第几分钟
tm_sec分钟的第几秒
tm_wday一周的第几天,按照0,1,2,3,4,5,6计算,今天周六,就显示5
tm_yday一年的第多少天
tm_isdst是否为夏令时
可以用索引方式取值
import time

data = time.gmtime(time.time())
print(data)
print(data[0])
print(data.tm_year,data.tm_hour,data.tm_min,data.tm_sec)
[root@rhel8 day04]# python3 demo01_time.py 
time.struct_time(tm_year=2023, tm_mon=12, tm_mday=9, tm_hour=10, tm_min=14, tm_sec=46, tm_wday=5, tm_yday=343, tm_isdst=0)
2023
2023 10 14 46

四.localtime()

time.localtime()表示当前时区的结构化时间

[root@rhel8 day04]# vim demo01_time.py 
import time

data = time.localtime()
print(data)
[root@rhel8 day04]# python3 demo01_time.py 
time.struct_time(tm_year=2023, tm_mon=12, tm_mday=9, tm_hour=18, tm_min=24, tm_sec=14, tm_wday=5, tm_yday=343, tm_isdst=0)

五.结构化时间转换为时间戳

[root@rhel8 day04]# vim demo01_time.py 
import time

data = time.mktime(time.localtime())
print(data)
[root@rhel8 day04]# python3 demo01_time.py 
1702117553.0

六.结构化时间--->时间字符串

[root@rhel8 day04]# vim demo01_time.py 
import time
#%Y 年 %m 月 %d 日 %H 小时 %M 分钟 %S 秒
data = time.strftime("%Y-%m-%d %H:%M:%S",time.localtime())
print(data)
[root@rhel8 day04]# python3 demo01_time.py 
2023-12-09 19:19:04

七.时间字符串--->结构化时间

[root@rhel8 day04]# vim demo01_time.py 
import time
#%Y 年 %m 月 %d 日 %H 小时 %M 分钟 %S 秒
data = time.strptime("2029-11-01 19:56:47","%Y-%m-%d %H:%M:%S")
print(data)

[root@rhel8 day04]# python3 demo01_time.py 
time.struct_time(tm_year=2029, tm_mon=11, tm_mday=1, tm_hour=19, tm_min=56, tm_sec=47, tm_wday=3, tm_yday=305, tm_isdst=-1)

八.总结

练习

有一个日志文件内容如下,要求取出9点--12点的内容

[root@rhel8 day04]# cat /opt/myweb.log 
2030-01-02 08:01:43 aaaaaaaaaaaaaaaa
2030-01-02 08:34:23 bbbbbbbbbbbbbbbb
2030-01-02 09:23:12 cccccccccccccccccccc
2030-01-02 10:56:13 dddddddddddddddddddddd
2030-01-02 11:38:19 eeeeeeeeeeeeeeeeeeeee
2030-01-02 12:02:28 ffffffffffffffffffff

 

使用readlines函数方式如下

[root@rhel8 day04]# vim test02_time.py
import time
t9 = time.strptime("2030-01-02 09:00:00","%Y-%m-%d %H:%M:%S")
t12 = time.strptime("2030-01-02 12:00:00","%Y-%m-%d %H:%M:%S")

with open("/opt/myweb.log",mode="r") as f:
    for line in f.readlines():
        t = time.strptime(line[:19],"%Y-%m-%d %H:%M:%S")
        if t9 <= t <= t12:
            print(line,end="")
[root@rhel8 day04]# python3 test02_time.py 
2030-01-02 09:23:12 cccccccccccccccccccc
2030-01-02 10:56:13 dddddddddddddddddddddd
2030-01-02 11:38:19 eeeeeeeeeeeeeeeeeeeee

 使用readlines函数方式如下

[root@rhel8 day04]# vim test02_time.py 
import time
t9 = time.strptime("2030-01-02 09:00:00","%Y-%m-%d %H:%M:%S")
t12 = time.strptime("2030-01-02 12:00:00","%Y-%m-%d %H:%M:%S")

with open("/opt/myweb.log",mode="r") as f:
    while True:
        data = f.readline()
        if len(data) == 0:
            break
        else:
            t = time.strptime(data[:19],"%Y-%m-%d %H:%M:%S")
            if t9 <= t <= t12:
                print(data,end="")
[root@rhel8 day04]# python3 test02_time.py 
2030-01-02 09:23:12 cccccccccccccccccccc
2030-01-02 10:56:13 dddddddddddddddddddddd
2030-01-02 11:38:19 eeeeeeeeeeeeeeeeeeeee

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1298282.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

成本核算基础知识 – 了解实际成本

原文地址&#xff1a;Basics of Costing – Understanding Actual Cost | SAP Blogs 建议大家打开原文地址查看原文&#xff0c;有些地方专业术语翻译不一定正确。希望搬的这些文章能帮助查资料的大家一个信息&#xff0c;再跳转到原文去看。 一、概述 大家好&#xff0c; …

综合练习(OSPF+BGP+ISIS+单臂路由)

一、知识补充 1、链路聚合 为了满足不同服务器之间的数据交互&#xff0c;交换机之间必须具有更高的带宽&#xff0c;同时需要具备链路的冗余备份&#xff1b; 通常可以增加核心交换机之间的物理链路数量&#xff0c;以提高核心交换机之间的链路带宽&#xff1b;在启用STP的…

JDBC详解——增删改查(CRUD)、sql注入、事务、连接池

1. 概念&#xff1a; Java DataBase Connectivity&#xff0c; Java 数据库连接&#xff0c; Java语言操作数据库 JDBC本质&#xff1a;其实是官方&#xff08;sun公司&#xff09;定义的一套操作所有关系型数据库的规则&#xff0c;即接口。各个数据库厂商去实现这套接口&…

[RoBERTa]论文实现:RoBERTa: A Robustly Optimized BERT Pretraining Approach

文章目录 一、完整代码二、论文解读2.1 模型架构2.2 参数设置2.3 数据2.4 评估 三、对比四、整体总结 论文&#xff1a;RoBERTa&#xff1a;A Robustly Optimized BERT Pretraining Approach 作者&#xff1a;Yinhan Liu, Myle Ott, Naman Goyal, Jingfei Du, Mandar Joshi, Da…

【【HDMI 彩条显示实验 】】

HDMI 彩条显示实验 本次实验参考自 《正点原子 FPGA 领航者开发板 第三十一章 彩条显示实验》 使用的是领航者开发板 ZYNQ - 7020 HDMI 是新一代的多媒体接口标准&#xff0c;英文全称是 High-Definition Multimedia Interface&#xff0c;即高清多媒体接口。它能够同时传输视…

【SQLite】SQLite3约束总结

前面学习了SQLite数据库的常见使用方法&#xff0c;其中包含许多约束&#xff0c;常见的如NOT NULL、DEFAULT、UNIQUE、PRIMARY KEY&#xff08;主键&#xff09;、CHECK等 本篇文章主要介绍这些约束在SQLite中的使用 目录 什么是约束NOT NULL 约束DEFAULT约束UNIQUE约束PRIMA…

【nuxt3】cannot read preperties of null (reading ‘$nuxt‘)

问题描述 vue3 中&#xff0c;通过 createVNode 创建子组件实例时&#xff0c;发现子组件无法获取到父组件中的 router、store 信息&#xff0c;一旦子组件使用就会报错。 问题原因 通过控制台断点调试&#xff0c;发现时 appContext 值为空导致的。怀疑是创建子组件的时候&a…

RHEL8---网络配置

本章主要介绍网络配置的方法。 网络基础知识查看网络信息图形化界面修改通过配置文件修改命令行管理主机名的设置 网络基础知识 一台主机需要配置必要的网络信息&#xff0c;才可以连接到互联网。需要的配置网络信息包括IP、 子网掩码、网关和 DNS。 1、IP 地址 在计算机…

TOMCAT9安装

1、官网下载 2、解压到任意盘符&#xff0c;注意路径不要有中文 3、环境变量 path 下 配置 %CATALINA_HOME%\bin 4、找到tomcat9/bin&#xff0c; 点击 start.bat启动 tomcat

vue pc官网顶部导航栏组件

官网顶部导航分为一级导航和二级导航 导航的样子 文件的层级 router 文件层级 header 组件代码 <h1 class"logo-wrap"><router-link to"/"><img class"logo" :src"$config.company.logo" alt"" /><i…

Meta Platforms推出Imagine:基于Emu的免费AI文本到图像生成器服务

优势主要体现在以下两个方面&#xff1a; 精细运动控制&#xff1a; 该项目在实现摄像机运动和物体运动方面表现出色&#xff0c;成功实现了对两者运动的高度独立控制。这一特性为运动控制提供了更为精细的调整空间&#xff0c;使得在视频生成过程中能够实现更灵活、多样的运动…

Leetcode刷题笔记题解(C++):LCR 181. 字符串中的单词反转

思路&#xff1a;根据栈的原理先进后出&#xff0c;使用栈来依次保存每个单词&#xff0c;然后再依次从栈中取出每个单词 class Solution { public:string reverseMessage(string message) {int left 0;int right message.size()-1;//消除字符串前后多余的空格&#xff0c;比…

第1章-第1节-第一个Java程序,命令行编译并运行Java

第一个Java程序不用任何IDE&#xff0c;用记事本去编写&#xff0c;用命令行去编译并运行&#xff0c;这样便于了解Java程序运行原理。 1、首先打开记事本&#xff0c;写下如下代码&#xff1a; 然后另存为xxx.java&#xff0c;xxx文件名不强求与类名相同&#xff0c;但是建议…

安装@uni-helper/uni-app-types之后模板代码报错

安装uni-helper/uni-app-types之后模板代码一大片红 之后在https://uni-helper.js.org/uni-app-types找到了答案 配置tsconfig.json 添加vueCompilerOptions这个配置后&#xff0c;报错不见了 "vueCompilerOptions": {"nativeTags": ["block"…

算法Day24 不专心开车

不专心开车 Description 小硕开车经过一条公路&#xff0c;这条路线总共由n 1个不同海拔的点组成。小硕从海拔为0的点0开始骑行。 给小硕一个长度为n的整数数组arr&#xff0c;其中arr[i]是点i和点i 1的净海拔高度差&#xff08;0≤i < n&#xff09;。请你返回最高点的海…

OpenAI 首席运营官(COO)Brad Lightcap认为商业人工智能被夸大了

美国消费者新闻与商业频道&#xff08;CNBC&#xff09;是美国NBC环球集团持有的全球性财经有线电视卫星新闻台&#xff0c;是全球财经媒体中的佼佼者&#xff0c;其深入的分析和实时报导赢得了全球企业界的信任。在1991年前&#xff0c;使用消费者新闻与商业频道&#xff08;C…

算法通关村第二关—K个一组反转(黄金)

K个一组翻转链表 题目介绍 LeetCode25.给你一个链表&#xff0c;每k个节点一组进行翻转&#xff0c;请你返回翻转后的链表。k是一个正整数&#xff0c;它的值小于或等于链表的长度。如果节点总数不是k的整数倍&#xff0c;那么请将最后剩余的节点保持原有顺序。进阶&#xff1…

计算机毕业设计 基于大数据的心脏病患者数据分析管理系统的设计与实现 Java实战项目 附源码+文档+视频讲解

博主介绍&#xff1a;✌从事软件开发10年之余&#xff0c;专注于Java技术领域、Python人工智能及数据挖掘、小程序项目开发和Android项目开发等。CSDN、掘金、华为云、InfoQ、阿里云等平台优质作者✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精…

【接口技术】实验5:模/数(ADC0809)和数/模(DAC0832)转换

实验5 模/数(ADC0809)和数/模(DAC0832)转换实验 一、实验目的 1&#xff1a;了解模/数转换的基本原理&#xff0c;掌握ADC0809的使用方法。 2&#xff1a;了解数/模转换的基本原理&#xff0c;掌握DAC0832的使用方法。 二、实验内容 &#xff08;1&#xff09;模/数转换器…

网件R8500 trojan

一 将路由器刷机成改版梅林 路由器首页的Firmware:380.70_0-X7.9.1是梅林改版 380.xx 梅林原版固件 380.xx_x 梅林改版固件 必须是改版梅林才支持trojan&#xff0c;所以要确保是梅林改版固件 点击上传文件&#xff0c;选择下载好的改版固件 固件及软件链接 链接: https:…