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…...
KubeSphere 容器平台高可用:环境搭建与可视化操作指南
Linux_k8s篇 欢迎来到Linux的世界,看笔记好好学多敲多打,每个人都是大神! 题目:KubeSphere 容器平台高可用:环境搭建与可视化操作指南 版本号: 1.0,0 作者: 老王要学习 日期: 2025.06.05 适用环境: Ubuntu22 文档说…...

7.4.分块查找
一.分块查找的算法思想: 1.实例: 以上述图片的顺序表为例, 该顺序表的数据元素从整体来看是乱序的,但如果把这些数据元素分成一块一块的小区间, 第一个区间[0,1]索引上的数据元素都是小于等于10的, 第二…...

srs linux
下载编译运行 git clone https:///ossrs/srs.git ./configure --h265on make 编译完成后即可启动SRS # 启动 ./objs/srs -c conf/srs.conf # 查看日志 tail -n 30 -f ./objs/srs.log 开放端口 默认RTMP接收推流端口是1935,SRS管理页面端口是8080,可…...

CocosCreator 之 JavaScript/TypeScript和Java的相互交互
引擎版本: 3.8.1 语言: JavaScript/TypeScript、C、Java 环境:Window 参考:Java原生反射机制 您好,我是鹤九日! 回顾 在上篇文章中:CocosCreator Android项目接入UnityAds 广告SDK。 我们简单讲…...
python如何将word的doc另存为docx
将 DOCX 文件另存为 DOCX 格式(Python 实现) 在 Python 中,你可以使用 python-docx 库来操作 Word 文档。不过需要注意的是,.doc 是旧的 Word 格式,而 .docx 是新的基于 XML 的格式。python-docx 只能处理 .docx 格式…...

Android15默认授权浮窗权限
我们经常有那种需求,客户需要定制的apk集成在ROM中,并且默认授予其【显示在其他应用的上层】权限,也就是我们常说的浮窗权限,那么我们就可以通过以下方法在wms、ams等系统服务的systemReady()方法中调用即可实现预置应用默认授权浮…...

(转)什么是DockerCompose?它有什么作用?
一、什么是DockerCompose? DockerCompose可以基于Compose文件帮我们快速的部署分布式应用,而无需手动一个个创建和运行容器。 Compose文件是一个文本文件,通过指令定义集群中的每个容器如何运行。 DockerCompose就是把DockerFile转换成指令去运行。 …...
Mysql8 忘记密码重置,以及问题解决
1.使用免密登录 找到配置MySQL文件,我的文件路径是/etc/mysql/my.cnf,有的人的是/etc/mysql/mysql.cnf 在里最后加入 skip-grant-tables重启MySQL服务 service mysql restartShutting down MySQL… SUCCESS! Starting MySQL… SUCCESS! 重启成功 2.登…...

2025年渗透测试面试题总结-腾讯[实习]科恩实验室-安全工程师(题目+回答)
安全领域各种资源,学习文档,以及工具分享、前沿信息分享、POC、EXP分享。不定期分享各种好玩的项目及好用的工具,欢迎关注。 目录 腾讯[实习]科恩实验室-安全工程师 一、网络与协议 1. TCP三次握手 2. SYN扫描原理 3. HTTPS证书机制 二…...

PHP 8.5 即将发布:管道操作符、强力调试
前不久,PHP宣布了即将在 2025 年 11 月 20 日 正式发布的 PHP 8.5!作为 PHP 语言的又一次重要迭代,PHP 8.5 承诺带来一系列旨在提升代码可读性、健壮性以及开发者效率的改进。而更令人兴奋的是,借助强大的本地开发环境 ServBay&am…...