【python 基础篇 九】python的常用数据类型操作-------时间日历
目录
- 1.python时间操作
- 1.1 time模块
- 1.2 calendar模块
- 1.3 datetime模块
1.python时间操作
python程序能用很多方式处理日期和时间,转换日期格式也是一个常见功能。
1.1 time模块
提供了处理时间和表示之间转换的功能
- 获取当前时间戳
- 概念:从0时区的1970年1月1日0时0分0秒,到所给定日期的秒数。是一个浮点数。
- 获取方式
- import time time.time()
import time
result = time.time()
print(result)#输出 1670570274.2948563
years = result/(24*60*60*365)+1970
print(years)#输出 2022.9734358921505
-
获取时间元组
-
概念:很多python时间函数将时间处理为9个数字的元组
-
序号 含义 属性 值 0 4位数的年 tm_year xxxx 1 月 tm_mon 1-12 2 日 tm_mday 1-31 3 小时 tm_hour 0-23 4 分钟 tm_min 0-59 5 秒 tm_sec 0-60 6 一周的第几日 tm_wday 0-6 7 一年的第几日 tm_yday 1-366 8 夏令日 tm_isdst -1 0 1 -1是决定为是否为夏令时的标志 -
获取方式
- import time time.localtime([seconds])
- seconds为时间戳,默认值为当前时间戳,也可以指定时间戳
-
import time
result = time.time()
print(result)#输出 1670570703.946
t1 = time.localtime()
print(t1)#输出 time.struct_time(tm_year=2022, tm_mon=12, tm_mday=9, tm_hour=15, tm_min=25, tm_sec=3, tm_wday=4, tm_yday=343, tm_isdst=0)
- 获取格式化的时间
- 秒 ------> 可读时间
- import time time.ctime(seconds)
- seconds为时间戳,当省略的时候,默认值为当前时间戳,也可以指定时间戳
- import time time.ctime(seconds)
- 时间元组 -------->可读时间
- import time time.asctime(p_tuple)
- p_tuple为时间元组,当省略的时候,默认值为当前的时间元组,也可以指定时间元组
- import time time.asctime(p_tuple)
- 秒 ------> 可读时间
import time
#秒 ------> 可读时间
t = time.time()#获取时间戳
print(t)#输出1670571316.991758
result1 = time.ctime(t)#把时间戳转换为可读时间
print(result1)#输出Fri Dec 9 15:35:16 2022
print(time.ctime())#直接 输出 Fri Dec 9 15:35:17 2022#时间元组 -------->可读时间
t1 = time.localtime()#获取时间元组
print(t1)#输出time.struct_time(tm_year=2022, tm_mon=12, tm_mday=9, tm_hour=15, tm_min=35, tm_sec=17, tm_wday=4, tm_yday=343, tm_isdst=0)
result2 = time.asctime(t1)#把时间元组转换成可读时间
print(result2)#输出Fri Dec 9 15:35:17 2022
print(time.asctime())#直接 输出Fri Dec 9 15:35:17 2022
-
格式化日期字符串<------>时间戳
-
时间元组 ---->格式化日期
- time.strftime(格式字符串,时间元组)
-
格式化日期 ---->时间元组
- time.strptime(日期字符串,格式符字符串)
- time.mktime(时间元组)
-
常用格式符
-
符号 意义 %Y 四位数表示年(000-9999) %y 两位数表示年(00-99) %m 月份(01-12) %d 月内的一天(0-31) %H 24小时制(0-23) %I 12小时制(01-12) %M 分钟数(00-59) %S 秒(00-59)
-
-
import time#时间元组 ---->格式化日期
result = time.strftime("%Y-%m-%d %H:%M:%S",time.localtime())
print(result)#输出 2022-12-09 15:45:06#格式化日期 ---->时间元组
pt = time.strptime("2022-12-09 12:00:00","%Y-%m-%d %H:%M:%S")
print(pt)#输出 time.struct_time(tm_year=2022, tm_mon=12, tm_mday=9, tm_hour=12, tm_min=0, tm_sec=0, tm_wday=4, tm_yday=343, tm_isdst=-1)#时间元组转变为时间戳
t = time.mktime(pt)
print(t)#输出1670558400.0
- 获取当前CPU时间
- time.perf_counter() 返回值为浮点数
- 可以用来统计一段程序代码的执行耗时、
import time
start = time.perf_counter()#获取当前CPU时间#运行程序
end = time.perf_counter()#获取程序运行后的CPU时间
print(end - start)#输出程序运行时间 单位是秒
- 休眠n秒
- 推迟线程的执行,可简单理解为,让程序暂停
- time.sleep(secs)
- secs睡眠的秒数
1.2 calendar模块
提供与日历相关的功能,比如:为给定的月份或者年份打印文本日历的功能
- 获取某月日历
- import calendar caledar.month(2017,9)
import calendar
print(caledar.month(2022,12))#输出文本日历 输出如下
"""
December 2022
Mo Tu We Th Fr Sa Su1 2 3 45 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
"""
1.3 datetime模块
python处理日期和时间的标准库:这个模块里面有datetime类,此外还有date类,以及time类,可以做一些计算机之类的操作。
-
获取当天日期
- import datetime
- print(datetime.datetime.now())
- print(datetime.datetime.today())
-
单独获取当前的年月日时分秒
-
计算n天之后的日期
-
获取两个日期时间的时间差
import datetime
#获取当天日期
print(datetime.datetime.now())#输出 2022-12-09 16:13:35.778311
print(datetime.datetime.today())#输出 2022-12-09 16:13:35.778311#单独获取当前的年月日时分秒
t = datetime.datetime.today()#获取当前时间
print(t)#2022-12-09 16:17:41.539885
print(t.year)#2022
print(t.month)#12
print(t.day)#9
print(t.hour)#16
print(t.minute)#17
print(t.second)#41#计算n天之后的日期
t = datetime.datetime.today()#获取当前时间
print(t)#2022-12-09 16:21:45.179556
result1 = t + datetime.timedelta(days=7)
print(result)#2022-12-16 16:21:45.179556
result2 = t + datetime.timedelta(days=7,hours=2)
print(result2)#2022-12-16 18:21:45.179556#获取两个日期时间的时间差
first = datetime.datetime(2022,12,9,14,00,00)
print(first,type(first))#2022-12-05 14:00:00 <class 'datetime.datetime'>
second = datetime.datetime(2022,8,13,18,40,25)
delta = first - second
print(delta,type(delta))#117 days, 19:19:35 <class 'datetime.timedelta'>
相关文章:
【python 基础篇 九】python的常用数据类型操作-------时间日历
目录1.python时间操作1.1 time模块1.2 calendar模块1.3 datetime模块1.python时间操作 python程序能用很多方式处理日期和时间,转换日期格式也是一个常见功能。 1.1 time模块 提供了处理时间和表示之间转换的功能 获取当前时间戳 概念:从0时区的1…...
华为OD机试真题Python实现【相同字符连续出现的最大次数】真题+解题思路+代码(20222023)
相同字符连续出现的最大次数 题目 输入一串字符串 字符串长度不超过100 查找字符串中相同字符连续出现的最大次数 🔥🔥🔥🔥🔥👉👉👉👉👉👉 华为OD机试(Python)真题目录汇总 ## 输入 输入只有一行,包含一个长度不超过100的字符串 输出描述 输出只…...
【Unity3D】空间和变换
1 空间 1.1 左右手坐标系及其法则 1.1.1 左右手坐标系 左手坐标系与右手坐标系Unity 局部空间、世界空间、裁剪空间、屏幕空间都采用左手坐标系,只有观察空间采用右手坐标系。 左右手坐标系除了坐标系朝向(旋向性)不同,还存在以…...
脑洞|ChatGPT加持下,ChatOps将如何革新团队协作与运维管理?
要说近期科技圈 “顶流”,非 ChatGPT 莫属。 比起目前常见的语音助手与聊天 bot,这位机器人显得更有 “人味儿”,不仅能模拟人类的语气,跟你聊得有来有回,还能写剧本、编音乐、写代码。 说到聊天工具,就让…...
华为OD机试真题Python实现【找数字】真题+解题思路+代码(20222023)
找数字 题目 给一个二维数组nums,对于每一个元素num[i],找出距离最近的且值相等的元素,输出横纵坐标差值的绝对值之和,如果没有等值元素,则输出-1。 例如: 输入数组nums为 0 3 5 4 2 2 5 7 8 3 2 5 4 2 4对于 num[0][0] = 0,不存在相等的值。 对于 num[0][1] = 3,存…...
【Database-01】达梦数据库Docker版下载安装
1、前往达梦数据库官网下载 https://www.dameng.com/1.1、选择数据库 - 数据库产品系 1.2、选择 达梦数据库管理系统(DM8) 1.3、点击试用下载 1.4、注册达梦账户 1.5、选择DM8 Docker镜像 https://www.dameng.com/list_103.html1.6、或者使用以下网址也…...
Allegro如何打开格点显示效果操作指导
Allegro如何打开格点显示效果操作指导 Allegro可以设置格点显示效果,以格点来判定走线等等是否都处于格点上,如下图 如何打开格点显示效果,具体操作如下 点击Setup点击Grids...
电子技术——反馈放大器的分析方法总结
电子技术——反馈放大器的分析方法总结 第一种也是最简单的估算方法,直接拿出反馈网络,计算 β\betaβ 则假设在 AβA\betaAβ 无限大的情况下有 Af≃1/βA_f \simeq 1/\betaAf≃1/β 。开环法。比第一种方法更能精确的估计 AAA 和 β\betaβ 的值。系…...
微服务系统启动,环境从0开始的搭建过程
1. JDK的下载安装(傻瓜式) 安装过程傻瓜式,直接一步到位。我安装的版本为:jdk-17_windows-x64_bin 2. 集成开发工具的下载安装:IDEA(傻瓜式) ideaIU-2021.2.1 网上资源很多,自己找…...
手工测试1年经验面试,张口要13K,我真是服了····
由于朋友临时有事, 所以今天我代替朋友进行一次面试,他需要应聘一个测试工程师, 我以很认真负责的态度完成这个过程, 大概近30分钟。 主要是技术面试, 在近30分钟内, 我与被面试者是以交流学习的方式进行的…...
【保姆级】手把手捋动态代理流程(JDK+Cglib超详细源码分析)
简介动态代理,通俗点说就是:无需声明式的创建java代理类,而是在运行过程中生成"虚拟"的代理类,被ClassLoader加载。 从而避免了静态代理那样需要声明大量的代理类。上面的简介中提到了两个关键的名词:“静态…...
Appium自动化测试 Inspector定位Webview/H5页面元素
目录操作步骤Python操作该混合App代码Appium在操作混合App或Android App的H5页面时, 常常需要定位H5页面中的元素, 传统方式是 FQ 使用Chrome://inspect来定位元素, 环境准备相当繁琐, 不仅需要想办法FQ, 而且还需要Android设备安装Google框架以及手机版Chrome浏览器以及相应的…...
数组求和方法总结,学点干货
1.循环 (新手用) 1.1 普通for 循环 简单质朴 const arr [1, 2, 3, 4, 5];let sum 0;for (let i 0; i < arr.length; i) {sum arr[i];}1.2 for in 循环 与普通for循环大同小异 const arr [1, 2, 3, 4, 5];let sum 0;for (let i in arr) {sum …...
斗地主洗牌发牌-课后程序(JAVA基础案例教程-黑马程序员编著-第六章-课后作业)
【案例6-4】 斗地主洗牌发牌 【案例介绍】 1.任务描述 扑克牌游戏“斗地主”,相信许多人都会玩,本案例要求编写一个斗地主的洗牌发牌程序,要求按照斗地主的规则完成洗牌发牌的过程。一副扑克总共有54张牌,牌面由花色和数字组成…...
基于antd封装的二次业务筛选组件-table-filter
文档地址:https://flowerofsummer.github.io/components/ 业务筛选组件 支持各种类型的高级搜索组件 基础用法 组件响应式布局,默认显示两行,可以通过 maxLineCount 配置最多显示行数每行个数: 如果含有 time-range࿰…...
逆向-还原代码之max 再画堆栈图 (Interl 64)
// source code #include <stdio.h> void max(int * a, int * b) { if (*a < *b) *a *b; } int main() { int a 5, b 6; max(&a, &b); printf("a, b max %d\n", a); return 0; } // 再画堆栈图 下周一(2.27…...
GitHub标星30K+的Java面试八股文长啥样?
2023年的互联网行业竞争越来越严峻,面试也是越来越难,一直以来我都想整理一套完美的面试宝典,奈何难抽出时间,这套1000道的Java面试手册我整理了整整1个月,上传到Git上目前star数达到了30K 一、32 道 MySQL 面试题 1&…...
CVE-2022-39197 POC(CobaltStrike XSS <=4.7)漏洞复现
漏洞说明 根据9.20日CobaltStrike官方发布的最新4.7.1版本的更新日志中介绍,<4.7的teamserver版本存在XSS漏洞,从而可以造成RCE远程代码执行 一位名为“Beichendream”的独立研究人员联系我们,告知我们他们在团队服务器中发现的一个 XSS …...
我们来说说蹿红的AIGC到底是什么?ChatGPT又是什么?
近期,人工智能(AI)领域动作频频,OPENAI公司Chat GPT的出现,标志着人工智能的研究与应用已经进入了一个崭新的发展阶段,国内腾讯、阿里巴巴、百度、易网、国外微软、谷歌、苹果、IBM、Amazon,等互…...
新手如何从零开始搭建配置Windows云服务器?
新手如何从零开始搭建配置Windows云服务器?本文是搭建 Windows 云服务器入门教程,主要介绍如何从零开始,以最简单的方式搭建和配置你的Windows 云服务器。如果您之前没有搭建云服务器的经验,建议您按照本文介绍的方式来购买和配置…...
k8s从入门到放弃之Ingress七层负载
k8s从入门到放弃之Ingress七层负载 在Kubernetes(简称K8s)中,Ingress是一个API对象,它允许你定义如何从集群外部访问集群内部的服务。Ingress可以提供负载均衡、SSL终结和基于名称的虚拟主机等功能。通过Ingress,你可…...
React第五十七节 Router中RouterProvider使用详解及注意事项
前言 在 React Router v6.4 中,RouterProvider 是一个核心组件,用于提供基于数据路由(data routers)的新型路由方案。 它替代了传统的 <BrowserRouter>,支持更强大的数据加载和操作功能(如 loader 和…...
对WWDC 2025 Keynote 内容的预测
借助我们以往对苹果公司发展路径的深入研究经验,以及大语言模型的分析能力,我们系统梳理了多年来苹果 WWDC 主题演讲的规律。在 WWDC 2025 即将揭幕之际,我们让 ChatGPT 对今年的 Keynote 内容进行了一个初步预测,聊作存档。等到明…...
【SQL学习笔记1】增删改查+多表连接全解析(内附SQL免费在线练习工具)
可以使用Sqliteviz这个网站免费编写sql语句,它能够让用户直接在浏览器内练习SQL的语法,不需要安装任何软件。 链接如下: sqliteviz 注意: 在转写SQL语法时,关键字之间有一个特定的顺序,这个顺序会影响到…...
CMake 从 GitHub 下载第三方库并使用
有时我们希望直接使用 GitHub 上的开源库,而不想手动下载、编译和安装。 可以利用 CMake 提供的 FetchContent 模块来实现自动下载、构建和链接第三方库。 FetchContent 命令官方文档✅ 示例代码 我们将以 fmt 这个流行的格式化库为例,演示如何: 使用 FetchContent 从 GitH…...
OpenLayers 分屏对比(地图联动)
注:当前使用的是 ol 5.3.0 版本,天地图使用的key请到天地图官网申请,并替换为自己的key 地图分屏对比在WebGIS开发中是很常见的功能,和卷帘图层不一样的是,分屏对比是在各个地图中添加相同或者不同的图层进行对比查看。…...
pikachu靶场通关笔记22-1 SQL注入05-1-insert注入(报错法)
目录 一、SQL注入 二、insert注入 三、报错型注入 四、updatexml函数 五、源码审计 六、insert渗透实战 1、渗透准备 2、获取数据库名database 3、获取表名table 4、获取列名column 5、获取字段 本系列为通过《pikachu靶场通关笔记》的SQL注入关卡(共10关࿰…...
均衡后的SNRSINR
本文主要摘自参考文献中的前两篇,相关文献中经常会出现MIMO检测后的SINR不过一直没有找到相关数学推到过程,其中文献[1]中给出了相关原理在此仅做记录。 1. 系统模型 复信道模型 n t n_t nt 根发送天线, n r n_r nr 根接收天线的 MIMO 系…...
如何在网页里填写 PDF 表格?
有时候,你可能希望用户能在你的网站上填写 PDF 表单。然而,这件事并不简单,因为 PDF 并不是一种原生的网页格式。虽然浏览器可以显示 PDF 文件,但原生并不支持编辑或填写它们。更糟的是,如果你想收集表单数据ÿ…...
Java 二维码
Java 二维码 **技术:**谷歌 ZXing 实现 首先添加依赖 <!-- 二维码依赖 --><dependency><groupId>com.google.zxing</groupId><artifactId>core</artifactId><version>3.5.1</version></dependency><de…...
