Python 时间操作time详情
作者:盆友圈的小可爱 发布时间:2023-09-13 13:23:09
标签:Python,时间操作,time
前言:
我们在日常生活中,都离不开时间和日期。不仅我们的汉字都有大量描述时间日期的词语如斗转星移、分秒必争、只针朝夕、转眼之间等。同样,在我们程序中,我们也离不开时间日期的记录。在Python
高级语言中,内置库提供了time
和datetime
模块进行对时间日期的处理。
1. time 概述
计算机网络时间是以UNIX元年1970年1月1日0点开始的
Python time
模块主要对时间进行访问和转换
time 有三种表现形式:
时间戳(
timestamp
):是一个浮点数,可进行加减运算格式化时间字符串(
string_time
):表示常见的时间格式例2021-10-29结构化时间(
struct_time
):包含年月日时分秒的多元元组。
重要说明:
Python time
模块目前只支持2038年。UTC
(世界协调时),也称为格林威治天文时间、世界标准时间DST
夏令时。按照当地时间在某一时间段调快一小时Python time
是不可变类型,只读不能改
2. 格式化时间字符串
格式 | 含义 |
---|---|
%a | 本地星期名称的英文简写(如星期四为Thu) |
%A | 本地星期名称的英文全称(如星期四为Thursday) |
%b | 本地月份名称的英文简写(如八月份为agu) |
%B | 本地月份名称的英文全称(如八月份为august) |
%c | 本地相应的日期和时间的字符串表示(如:15/08/27 10:20:06) |
%d | 本月第几号(01 - 31) |
%f | 微秒(范围0.999999) |
%H | 一天中的第几个小时(24小时制,00 - 23) |
%I | 第几个小时(12小时制,0 - 11 |
%j | 一年中的第几天(001 - 366) |
%m | 月份(01 - 12) |
%M | 分钟数(00 - 59) |
%p | 本地am或者pm标识符 |
%S | 秒 |
%U | 一年中的星期数。(00 - 53星期天是一个星期的开始。) |
%w | 一个星期中的第几天(0 - 6,0是星期天) |
%W | 一年中的星期数(1-54) |
%x | 本地相应日期字符串(如15/08/01) |
%X | 本地相应时间字符串(如08:08:10) |
%y | 去掉世纪的年份(00 - 99)两个数字表示的年份 |
%Y | 完整的年份(4个数字表示年份如2021) |
%z | 与UTC时间的间隔(如果是本地时间,返回空字符串) |
%Z | 时区的名字(如果是本地时间,返回空字符串) |
%% | ‘%'字符 |
3. time 结构化
index | 属性 | 取值范围 |
---|---|---|
0 | tm_year(年) | 例如2021 |
1 | tm_mon(月) | 1~12 |
2 | tm_mday(日) | 1~31 |
3 | tm_hour(时) | 0~23 |
4 | tm_min(分) | 0~59 |
5 | tm_sec(秒) | 0~61(60或61 是闰秒) |
6 | tm_wday(weekday) | 0~6 |
7 | tm_yday(一年中的第几天) | 1~366 |
8 | tm_isdst(是否是夏令时) | -1 |
4. time 相关方法
方法 | 作用 |
---|---|
time.sleep(t) | 睡眠t秒,t可以是浮点数或整数 |
time.time() | 获取当前系统时间戳 |
time.gmtime(sec) | 时间戳转换成UTC的结构化时间,sec 默认time.time()作为参数 |
time.localtime(sec) | 时间戳转换成当前的结构化时间,sec 默认time.time()作为参数 |
time.ctime(sec) | 时间戳转换成本地时间的格式化字符串,sec 默认time.time()作为参数 |
time.asctime(t) | 将结构化时间转换成格式化字符串,time.localtime()作为参数 |
time.mktime(t) | 将结构化时间转换成时间戳 |
time.strftime(format,[t]) | 将结构化时间转换成指定字符串格式的当地时间默认传入time.localtime() |
time.strptime(string,[t]) | 将格式化时间转换成结构化时间 |
time.clock() | 返回执行当前程序的CPU时间 |
5.实操
import time
# 获取本地时间戳
stamp = time.time()
# 获取本地gmt时间
gmt = time.gmtime()
# 获取本地时间
local = time.localtime()
# 本地时间格式化
strtime = time.ctime()
# 结构化时间转换成格式化字符
asctime = time.asctime()
# 将结构化时间转换成时间戳
constamp = time.mktime(local)
# 将结构化时间转换成指定字符串格式时间
strf = time.strftime("%Y-%m-%d %H:%M:%S")
# 将格式化时间转成结构化时间
str = time.strptime("2021-10-29 21:07:24","%Y-%m-%d %H:%M:%S")
print("获取本地时间戳:",stamp)
print("获取本地gmt时间:",gmt)
print("获取本地时间:",local)
print("本地时间格式化:",strtime)
print("结构化时间转换成格式化字符:",asctime)
print("将结构化时间转换成时间戳:",constamp)
print("将结构化时间转换成指定字符串格式时间:",strf)
print("将格式化时间转成结构化时间:",str)
6.总结
对time模块中涉及到三种时间格式进行了解和学习,并对常用的time方法进行使用。
time 模块在我们程序中,能帮我们快速查找某一时间点的log详情。
来源:https://juejin.cn/post/7024474853809848356


猜你喜欢
- 备份多个数据库可以使用如下命令:mysqldump -uroot -p123456 --databases test1 test2 test
- 当请求访问到某个视图时,我们想让它重定向到其他页面,应该怎么做呢?1.HttpResponseRedirect需求:当我们访问127.0.0
- 首先非常感谢作者针对bootstrap table分页问题进行详细的整理,并分享给了大家,希望通过这篇文章可以帮助大家解决Bootstrap
- 1.创建图在tensorflow中,一个程序默认是建立一个图的,除了系统自动建立图以外,我们还可以手动建立图,并做一些其他的操作。下面我们使
- 三种文件操作比较ioutilbufioos.File当文件较小(KB 级别)时,ioutil > bufio > os。当文件大
- 现状≠将来?程序员做设计本身就很悲哀,纠结于客户与坚持之间就更是如此。无论我今后的路会怎么走,我想始终不变的事情就是与客户博弈了。无论是放弃
- SHOW STATUS 直接在命令行下登陆MySQL运行SHOW STATUS;查询语句,详细如下图 同样的语句还有SHOW V
- Internet的规模每一百天就会增长一倍,客户希望获得7天×24小时的不间断可用性及较快的系统反应时间,而不愿屡次看到某个站点“Serve
- 概要:Oracle关系数据库系统以其卓越的性能获得了广泛的应用,而保证数据库的安全性 是数据库管理工作的重要内容。本文是笔者在总结Oracl
- 第一种import win32clipboardimport time#速度快 容易出错class niubi(): def l
- 在win10环境下搭建python3.5.2和tensorflow平台,供大家参考,具体内容如下操作步骤如下:1、官网(https://ww
- 使用python爬虫库requests,urllib爬取今日头条街拍美图代码均有注释import re,json,requests,osfr
- 平时在写asp代码的时候有很多重复的内容要写,麻烦的要命,比如在收集表单提交的数据时,特别是表单的输入域比较多时,要不断写好多的reques
- 问题最近在工作中发现了一个问题,Python代码一直用着免费的Google翻译API插件googletrans,这两天突然就报错了:Trac
- 本文将想大家简单介绍一下XML HttpRequst对象基础方法,希望通过本文能够使大家对其有一个初步的了解readyState一共有5个可
- 代码如下:DECLARE @T varchar(255), @C varchar(255) DECLARE Table_Cursor CUR
- 引入函数既可以嵌套定义也可以嵌套调用。嵌套定义指的是在定义一个函数时在该函数内部定义另一个函数;嵌套调用指的是在调用一个函数的过程中函数内部
- 一、ESlint+Vetur 实现ESlint代码规范二、重点----旧版本(旧版本配置在setting.json 会出现警告){“esli
- 一、数据库介绍1、为什么要学习数据库通常,我们存储数据,直接用本地文件即可,但是,本地文件不利于存放海量数据,也不利于用程序对文件的数据进行
- 1.双击setup.exe.(出现安装向导界面) 2.在安装向导界面:选"基本安装",并选好主目录位置;创建启动数据库(