Python中time模块用法示例详解
前言
仅供个人学习用,如果对各位朋友有参考价值,给个赞或者收藏吧 ^_^
一、time模块介绍
time
模块是Python中处理时间相关操作的核心工具,提供了时间获取、格式化、转换、延迟以及计时等多种功能。
总的来说time模块中时间可以有3种格式:时间戳,时间元组和时间字符串,其中时间字符串可以自行定制格式。time模块的方法大部分是针对这几种时间格式进行输出,处理和转化。
时间戳:是指格林威治时间1970年01月01日00时00分00秒(北京时间1970年01月01日08时00分00秒)起至现在的总秒数。
下面本文对常用的Time方法进行介绍。
二、Time模块的主要功能
1. 时间获取
(1)time.time()
:
返回当前时间的时间戳(自1970年1月1日00:00:00 UTC以来的秒数)。
注意:time.time()的括号内没有参数,下面是代码举例:
import time
timestamp = time.time()
print("当前时间戳:", timestamp)
# 输出:当前时间戳: 1720363892.180193
(2)time.localtime([secs])
:
将时间戳(默认为当前时间)转换为本地时间的struct_time
对象(时间元组格式)。时间元组是另一种表示时间的方式,其格式为(tm_year,tm_mon,tm_mday,tm_hour,tm_min, tm_sec,tm_wday,tm_yday,tm_isdst),下面是每个元素的含义:
tm_year: 年
tm_mon: 月,范围为[1,12]
tm_mday: 一个月的第几天,范围为[1,31]
tm_hour: 小时,范围为[0,23]
tm_min: 分, 范围为[0,59]
tm_sec: 秒,范围为[0,59]
tm_wday: 一周中的第几天,范围是[0,6],周一为0
tm_yday: 一年中的第几天,范围是[1,366]
tm_isdat: 1代表夏令时
demo示例
import time
timestamp = time.time()
print("当前时间戳:", timestamp)
local_time = time.localtime() # 括号内不加参数,表示将当前(北京)时间转换为时间元组。
print("本地时间:\n", local_time)
yesterday_time = time.localtime(timestamp-24*60*60) # 返回当前时间前一天的时间元组
print('当前时间前一天的时间元组:\n', yesterday_time)
year = time.localtime().tm_year # 访问时间元组中的某项,如调用tm_year
print('年份:', year)
output输出
当前时间戳: 1720364587.5937397
本地时间:time.struct_time(tm_year=2024, tm_mon=7, tm_mday=7, tm_hour=23, tm_min=3, tm_sec=7, tm_wday=6, tm_yday=189, tm_isdst=0)
当前时间前一天的时间元组:time.struct_time(tm_year=2024, tm_mon=7, tm_mday=6, tm_hour=23, tm_min=3, tm_sec=7, tm_wday=5, tm_yday=188, tm_isdst=0)
年份: 2024
(3)time.gmtime([secs])
:
将时间戳(默认为当前时间)转换为UTC(格林威治)时间的struct_time
对象。也就是说类似于time.localtime(),不过一个是默认北京时间作为输出,一个是根据
格林威治时间输出。
demo
import time
local_time = time.localtime()
print("本地时间:\n", local_time)
local_time1 = time.gmtime()
print("UTC本地时间:\n", local_time1)
output
本地时间:time.struct_time(tm_year=2024, tm_mon=7, tm_mday=7, tm_hour=23, tm_min=13, tm_sec=15, tm_wday=6, tm_yday=189, tm_isdst=0)UTC本地时间:time.struct_time(tm_year=2024, tm_mon=7, tm_mday=7, tm_hour=15, tm_min=13, tm_sec=15, tm_wday=6, tm_yday=189, tm_isdst=0)
2. 时间转换
(1)time.mktime(t)
:
将struct_time
对象(时间元组)转换为时间戳。
注意该方法括号内必须要有时间元组参数。
demo
import time
timestamp = time.time()
print("当前时间戳:", timestamp)
local_time = time.localtime() # 括号内不加参数,表示将当前时间转换为时间元组。
print("本地时间:\n", local_time)
print(type(local_time))
timestamp1 = time.mktime(time.localtime())
print("时间戳:", timestamp1)
output
当前时间戳: 1720365737.5152326
本地时间:time.struct_time(tm_year=2024, tm_mon=7, tm_mday=7, tm_hour=23, tm_min=22, tm_sec=17, tm_wday=6, tm_yday=189, tm_isdst=0)
<class 'time.struct_time'>
时间戳: 1720365737.0
(2)time.asctime([t])
和 time.ctime([secs])
:
两者都用于将时间戳或struct_time
对象转换为可读的字符串表示,但ctime
直接接受时间戳,而asctime
接受struct_time
对象。
demo
import time
timestamp = time.ctime() # 返回当前时间字符串
print("ctime当前时间:\n", timestamp)
times = time.ctime(time.time()) # 参数为时间戳
print('参数为时间戳的ctime当前时间:\n', times)
timestamp1 = time.asctime() # 返回当前时间字符串
print("asctime当前时间:\n", timestamp1)
times1 = time.asctime(time.localtime()) # 参数为时间元组
print('参数为时间元组的asctime当前时间:\n', times1)
times2 = time.asctime((1, 1, 1, 1, 1, 1, 1, 1, 1)) # 给定元组,返回时间字符串
print('asctime的参数给定元组,返回时间字符串:\n', times2)
output
ctime当前时间:Sun Jul 7 23:41:57 2024
参数为时间戳的ctime当前时间:Sun Jul 7 23:41:57 2024
asctime当前时间:Sun Jul 7 23:41:57 2024
参数为时间元组的asctime当前时间:Sun Jul 7 23:41:57 2024
asctime的参数给定元组,返回时间字符串:Tue Jan 1 01:01:01 1
3. 时间格式化
(1)time.strftime(format[, t])
:
将指定的struct_time
对象(默认为当前时间)按照给定的格式字符串format
转换成字符串。常用的格式化字符包括%Y
(四位数的年份)、%m
(月份)、%d
(日)、%H
(小时,24小时制)、%M
(分钟)、%S
(秒)等。
demo
import time# time.strftime(format[, t]) 下面formatted_time是返回当前日期和时间的字符串
formatted_time = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())
print("格式化时间:", formatted_time)# time.strptime(string[, format]):将时间字符串解析为struct_time对象。
specific_time = time.strptime("2023-04-01 12:00:00", "%Y-%m-%d %H:%M:%S")
print(specific_time)# 使用指定的struct_time对象
formatted_specific_time = time.strftime("%A, %B %d %Y", specific_time)
print("特定格式化时间:", formatted_specific_time)
output
格式化时间: 2024-07-08 00:00:07time.struct_time(tm_year=2023, tm_mon=4, tm_mday=1, tm_hour=12, tm_min=0, tm_sec=0, tm_wday=5, tm_yday=91, tm_isdst=-1)特定格式化时间: Saturday, April 01 2023
(2)time.strptime(string[, format])
:
将符合指定格式format
的时间字符串string
转换为struct_time
对象。或者说字符串时间按照一定时间格式解析为时间元组。
已在上面的(1)strftime
示例中展示。
4. 时间延迟
(1) time.sleep(secs)
:使程序暂停执行指定的秒数。
demo
import time
print("开始等待...")
time.sleep(3)
print("等待结束")
相关文章:
Python中time模块用法示例详解
前言 仅供个人学习用,如果对各位朋友有参考价值,给个赞或者收藏吧 ^_^ 一、time模块介绍 time模块是Python中处理时间相关操作的核心工具,提供了时间获取、格式化、转换、延迟以及计时等多种功能。 总的来说time模块中时间可以有3种格式&…...

解决POST请求中文乱码问题
解决POST请求中文乱码问题 1、乱码原因2、解决方法3、具体步骤 💖The Begin💖点点关注,收藏不迷路💖 在Web开发中,处理POST请求时经常遇到中文乱码问题,这主要是由于服务器在接收到POST请求的数据后&#x…...

Axure-黑马
Axure-黑马 编辑时间2024/7/12 来源:B站黑马程序员 需求其他根据:visio,墨刀 Axure介绍 Axure RP是美国Axure Software Solution给公司出品的一款快速原型大的软件,一般来说使用者会称他为Axure 应用场景 拉投资使用 给项目团…...
Centos解决服务器时间不准的问题
CentOS 系统时间老是自己变化可能有以下几个原因: 硬件时钟问题:服务器的硬件时钟可能出现故障或不准确。 时区设置错误:如果时区设置不正确,可能导致显示的时间与实际期望的时间不符。 系统服务异常:与时间同步相关…...

摸鱼大数据——Kafka——Kafka的shell命令使用
Kafka本质上就是一个消息队列的中间件的产品,主要负责消息数据的传递。也就说学习Kafka 也就是学习如何使用Kafka生产数据,以及如何使用Kafka来消费数据 topics操作 注意: 创建topic不指定分区数和副本数,默认都是1个 分区数可以后期通过alter增大,但是…...
在 Linux/Debian/Ubuntu 上使用 Brasero 刻录光盘
在 Ubuntu 系统中,Brasero 是一个非常方便的光盘刻录工具。无论是创建数据光盘、音频光盘还是刻录光盘镜像文件,Brasero 都能轻松胜任。本文将介绍如何在 Ubuntu 上安装和使用 Brasero 进行光盘刻录。 安装 Brasero 在大多数 Ubuntu 版本中,…...

QT之嵌入外部第三方软件到本窗体中
一、前言 使用QT开发,有时需要调用一些外部程序,但是单独打开一个外部窗口有的场合很不合适,最好是嵌入到开发的QT程序界面中。还有就是自己开发的n个程序,一个主程序托n个子程序,为了方便管理将各个程序独立…...

解决GET请求中文乱码问题
解决GET请求中文乱码问题 1、乱码的根本原因2、解决方法方法一:修改Tomcat配置(推荐)方法二:使用URLEncoder和URLDecoder(不推荐用于GET请求乱码)方法三:String类编解码(不直接解决乱…...

弥合人类与人工智能的知识差距:AlphaZero 中的概念发现和迁移(1)
文章目录 一、摘要二、简介三、相关工作3.1 基于概念的解释3.2 强化学习中生成解释3.3 国际象棋与人工智能 四、什么是概念?五、发掘概念5.1 挖掘概念向量5.1.1 静态概念的概念约束5.1.2 动态概念的概念约束 5.2 过滤概念 一、摘要 人工智能(AIÿ…...
cpp的cbp
.cbp 文件是 Code::Blocks 的项目文件。Code::Blocks 是一个开源的跨平台集成开发环境(IDE),主要用于 C、C 以及 Fortran 编程。.cbp 文件包含有关项目的所有配置信息,包括文件路径、编译选项、链接器设置等。 以下是 .cbp 文件的…...
jQuery 选择器
jQuery 选择器 jQuery 是一个快速、小巧且功能丰富的 JavaScript 库。它使得 HTML 文档遍历和操作、事件处理、动画和 AJAX 等操作更加简单,适用于各种浏览器。jQuery 的核心特性之一是其强大的选择器引擎,它允许开发者通过 CSS 选择器语法轻松地选取和操作 DOM 元素。本文将…...

Linux系统编程-进程控制相关操作详解
进程(Process)是计算机科学中一个基本的概念,特别是在操作系统领域中非常重要。它指的是在系统中正在运行的一个程序的实例。每个进程都是系统资源分配的基本单位,是程序执行时的一个实例。以下是关于进程的详细解释: …...

分布式I/O从站的认知
为什么需要分布式I/O从站? 当PLC与控制机构距离过远时,远距离会带来信号干扰,分布式I/O从站只需要一个网络线缆连接。 ET200分布式I/O从站家族 体积紧凑、功能强大。 ET200SP ET200M ET200S ET200iSP ET200 AL ET200pro ET200 eco PN 通讯协议…...

【python】PyQt5顶层窗口相关操作API原理剖析,企业级应用实战分享
✨✨ 欢迎大家来到景天科技苑✨✨ 🎈🎈 养成好习惯,先赞后看哦~🎈🎈 🏆 作者简介:景天科技苑 🏆《头衔》:大厂架构师,华为云开发者社区专家博主,…...

流程图编辑框架LogicFlow-vue-ts和js
LogicFlow官网https://site.logic-flow.cn/LogicFlow 是一款流程图编辑框架,提供了一系列流程图交互、编辑所必需的功能和灵活的节点自定义、插件等拓展机制。LogicFlow支持前端研发自定义开发各种逻辑编排场景,如流程图、ER图、BPMN流程等。在工作审批配…...

goaccess分析json格式日志
一.安装使用yum安装,yum install goaccess 二.主要介绍格式问题 1.nginx日志格式如下: log_format main escapejson {"time_local":"$time_local", "remote_addr":"$remote_addr", "r…...
游戏AI的创造思路-技术基础-决策树(1)
决策树,是每个游戏人必须要掌握的游戏AI构建技术,难度小,速度快,结果直观,本篇将对决策树进行小小解读~~~~ 目录 1. 定义 2. 发展历史 3. 决策树的算法公式和函数 3.1. 信息增益(Information Gain&…...
OPenCV实现直方图均衡化----20240711
# 直方图均衡化import cv2 import numpy as np import matplotlib.pyplot as plt# 读取彩色图像 img = cv2.imread("./pictures/Lena.jpg")# 检查图像是否加载成功 if img is None:print("Could not open or find the i...

2023年全国大学生电子信息竞赛E题——自动追踪系统(stm32和openmv+普通舵机)完美解决第四问
当时做的时候,当时看别人开源的23年的题,感觉一头雾水。两个字没思路。确实只有做了才会有思路。我这里清晰的整理出来思路。 1.第一问的复位问题就是写一个函数,如果按键按下,就进入,再按下就退出 当然这个复位是写死…...

【UNI-APP】阿里NLS一句话听写typescript模块
阿里提供的demo代码都是javascript,自己捏个轮子。参考着自己写了一个阿里巴巴一句话听写Nls的typescript模块。VUE3的组合式API形式 startClient:开始听写,注意下一步要尽快开启识别和传数据,否则6秒后会关闭 startRecognition…...

测试微信模版消息推送
进入“开发接口管理”--“公众平台测试账号”,无需申请公众账号、可在测试账号中体验并测试微信公众平台所有高级接口。 获取access_token: 自定义模版消息: 关注测试号:扫二维码关注测试号。 发送模版消息: import requests da…...

K8S认证|CKS题库+答案| 11. AppArmor
目录 11. AppArmor 免费获取并激活 CKA_v1.31_模拟系统 题目 开始操作: 1)、切换集群 2)、切换节点 3)、切换到 apparmor 的目录 4)、执行 apparmor 策略模块 5)、修改 pod 文件 6)、…...

基于Flask实现的医疗保险欺诈识别监测模型
基于Flask实现的医疗保险欺诈识别监测模型 项目截图 项目简介 社会医疗保险是国家通过立法形式强制实施,由雇主和个人按一定比例缴纳保险费,建立社会医疗保险基金,支付雇员医疗费用的一种医疗保险制度, 它是促进社会文明和进步的…...
可靠性+灵活性:电力载波技术在楼宇自控中的核心价值
可靠性灵活性:电力载波技术在楼宇自控中的核心价值 在智能楼宇的自动化控制中,电力载波技术(PLC)凭借其独特的优势,正成为构建高效、稳定、灵活系统的核心解决方案。它利用现有电力线路传输数据,无需额外布…...
解锁数据库简洁之道:FastAPI与SQLModel实战指南
在构建现代Web应用程序时,与数据库的交互无疑是核心环节。虽然传统的数据库操作方式(如直接编写SQL语句与psycopg2交互)赋予了我们精细的控制权,但在面对日益复杂的业务逻辑和快速迭代的需求时,这种方式的开发效率和可…...

关于iview组件中使用 table , 绑定序号分页后序号从1开始的解决方案
问题描述:iview使用table 中type: "index",分页之后 ,索引还是从1开始,试过绑定后台返回数据的id, 这种方法可行,就是后台返回数据的每个页面id都不完全是按照从1开始的升序,因此百度了下,找到了…...
WEB3全栈开发——面试专业技能点P2智能合约开发(Solidity)
一、Solidity合约开发 下面是 Solidity 合约开发 的概念、代码示例及讲解,适合用作学习或写简历项目背景说明。 🧠 一、概念简介:Solidity 合约开发 Solidity 是一种专门为 以太坊(Ethereum)平台编写智能合约的高级编…...

【论文阅读28】-CNN-BiLSTM-Attention-(2024)
本文把滑坡位移序列拆开、筛优质因子,再用 CNN-BiLSTM-Attention 来动态预测每个子序列,最后重构出总位移,预测效果超越传统模型。 文章目录 1 引言2 方法2.1 位移时间序列加性模型2.2 变分模态分解 (VMD) 具体步骤2.3.1 样本熵(S…...

Redis数据倾斜问题解决
Redis 数据倾斜问题解析与解决方案 什么是 Redis 数据倾斜 Redis 数据倾斜指的是在 Redis 集群中,部分节点存储的数据量或访问量远高于其他节点,导致这些节点负载过高,影响整体性能。 数据倾斜的主要表现 部分节点内存使用率远高于其他节…...

论文笔记——相干体技术在裂缝预测中的应用研究
目录 相关地震知识补充地震数据的认识地震几何属性 相干体算法定义基本原理第一代相干体技术:基于互相关的相干体技术(Correlation)第二代相干体技术:基于相似的相干体技术(Semblance)基于多道相似的相干体…...