【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 云服务器。如果您之前没有搭建云服务器的经验,建议您按照本文介绍的方式来购买和配置…...

通过Wrangler CLI在worker中创建数据库和表
官方使用文档:Getting started Cloudflare D1 docs 创建数据库 在命令行中执行完成之后,会在本地和远程创建数据库: npx wranglerlatest d1 create prod-d1-tutorial 在cf中就可以看到数据库: 现在,您的Cloudfla…...

【大模型RAG】Docker 一键部署 Milvus 完整攻略
本文概要 Milvus 2.5 Stand-alone 版可通过 Docker 在几分钟内完成安装;只需暴露 19530(gRPC)与 9091(HTTP/WebUI)两个端口,即可让本地电脑通过 PyMilvus 或浏览器访问远程 Linux 服务器上的 Milvus。下面…...

最新SpringBoot+SpringCloud+Nacos微服务框架分享
文章目录 前言一、服务规划二、架构核心1.cloud的pom2.gateway的异常handler3.gateway的filter4、admin的pom5、admin的登录核心 三、code-helper分享总结 前言 最近有个活蛮赶的,根据Excel列的需求预估的工时直接打骨折,不要问我为什么,主要…...

【SQL学习笔记1】增删改查+多表连接全解析(内附SQL免费在线练习工具)
可以使用Sqliteviz这个网站免费编写sql语句,它能够让用户直接在浏览器内练习SQL的语法,不需要安装任何软件。 链接如下: sqliteviz 注意: 在转写SQL语法时,关键字之间有一个特定的顺序,这个顺序会影响到…...

2025 后端自学UNIAPP【项目实战:旅游项目】6、我的收藏页面
代码框架视图 1、先添加一个获取收藏景点的列表请求 【在文件my_api.js文件中添加】 // 引入公共的请求封装 import http from ./my_http.js// 登录接口(适配服务端返回 Token) export const login async (code, avatar) > {const res await http…...

BCS 2025|百度副总裁陈洋:智能体在安全领域的应用实践
6月5日,2025全球数字经济大会数字安全主论坛暨北京网络安全大会在国家会议中心隆重开幕。百度副总裁陈洋受邀出席,并作《智能体在安全领域的应用实践》主题演讲,分享了在智能体在安全领域的突破性实践。他指出,百度通过将安全能力…...
OpenLayers 分屏对比(地图联动)
注:当前使用的是 ol 5.3.0 版本,天地图使用的key请到天地图官网申请,并替换为自己的key 地图分屏对比在WebGIS开发中是很常见的功能,和卷帘图层不一样的是,分屏对比是在各个地图中添加相同或者不同的图层进行对比查看。…...

C++使用 new 来创建动态数组
问题: 不能使用变量定义数组大小 原因: 这是因为数组在内存中是连续存储的,编译器需要在编译阶段就确定数组的大小,以便正确地分配内存空间。如果允许使用变量来定义数组的大小,那么编译器就无法在编译时确定数组的大…...

深入浅出深度学习基础:从感知机到全连接神经网络的核心原理与应用
文章目录 前言一、感知机 (Perceptron)1.1 基础介绍1.1.1 感知机是什么?1.1.2 感知机的工作原理 1.2 感知机的简单应用:基本逻辑门1.2.1 逻辑与 (Logic AND)1.2.2 逻辑或 (Logic OR)1.2.3 逻辑与非 (Logic NAND) 1.3 感知机的实现1.3.1 简单实现 (基于阈…...

Linux 中如何提取压缩文件 ?
Linux 是一种流行的开源操作系统,它提供了许多工具来管理、压缩和解压缩文件。压缩文件有助于节省存储空间,使数据传输更快。本指南将向您展示如何在 Linux 中提取不同类型的压缩文件。 1. Unpacking ZIP Files ZIP 文件是非常常见的,要在 …...