Python基础教程(二十四):日期和时间
💝💝💝首先,欢迎各位来到我的博客,很高兴能够在这里和您见面!希望您在这里不仅可以有所收获,同时也能感受到一份轻松欢乐的氛围,祝你生活愉快!
💝💝💝如有需要请大家订阅我的专栏【Python系列】哟!我会定期更新相关系列的文章
💝💝💝关注!关注!!请关注!!!请大家关注下博主,您的支持是我不断创作的最大动力!!!
文章目录
- 引言
- 一、基础概念与库介绍
- 1.1 datetime 模块
- 1.2 time 模块
- 二、基础操作
- 2.1 获取当前日期和时间
- 2.2 创建日期和时间对象
- 2.3 时间格式化
- 2.4 时间间隔计算
- 三、案例展示
- 四、进阶技巧:时区处理
- 五、总结
- 结束语
引言
在编程世界里,处理日期和时间是一项常见的任务,尤其是在涉及数据分析、日志记录、定时任务等领域。Python,作为一门功能强大且易学易用的编程语言,提供了丰富的库和方法来帮助开发者高效地处理日期和时间相关的问题。本文将深入探讨Python中的日期和时间处理,包括基础概念、常用库的使用以及实战案例。
一、基础概念与库介绍
Python中主要涉及到两个重要的库:datetime 和 time。其中,datetime 提供了更高级别的日期和时间操作接口,而 time 则提供了与系统时间相关的低级别接口。
1.1 datetime 模块
datetime 模块包含了许多类,如 datetime, date, time, 和 timedelta,它们分别用于处理日期和时间的不同方面。
- datetime: 结合日期和时间的完整信息。
- date: 只包含日期信息。
- time: 只包含时间信息。
- timedelta: 表示两个日期或时间之间的差异。
1.2 time 模块
time 模块提供了许多与时间相关的函数,如 time(), sleep(), strftime(), 和 strptime() 等,这些函数可以用来获取当前时间戳、暂停程序执行、格式化时间等。
二、基础操作
2.1 获取当前日期和时间
from datetime import datetime# 获取当前日期和时间
now = datetime.now()
print(now) # 输出类似于:2023-10-12 14:29:13.123456
2.2 创建日期和时间对象
from datetime import datetime# 创建指定日期和时间的对象
dt = datetime(2023, 10, 12, 15, 30)
print(dt) # 输出:2023-10-12 15:30:00
2.3 时间格式化
from datetime import datetime# 当前日期和时间
now = datetime.now()# 格式化输出
formatted = now.strftime("%Y-%m-%d %H:%M:%S")
print(formatted) # 输出:2023-10-12 14:29:13
2.4 时间间隔计算
from datetime import datetime, timedelta# 计算明天的日期
today = datetime.now()
tomorrow = today + timedelta(days=1)
print(tomorrow)
三、案例展示
假设你有一份日志文件,里面记录了用户访问网站的时间戳。你需要编写一个脚本来找出一天中最繁忙的时段。
from datetime import datetime
import relog_file = open('access.log', 'r')
log_lines = log_file.readlines()# 存储每小时的访问次数
hourly_visits = {}for line in log_lines:timestamp_str = re.search(r'\[(.*?)\]', line).group(1)timestamp = datetime.strptime(timestamp_str, '%d/%b/%Y:%H:%M:%S')hour = timestamp.hourif hour in hourly_visits:hourly_visits[hour] += 1else:hourly_visits[hour] = 1# 找出访问最多的小时
max_hour = max(hourly_visits, key=hourly_visits.get)
print(f"The busiest hour was {max_hour}:00 with {hourly_visits[max_hour]} visits.")
四、进阶技巧:时区处理
在处理跨时区的数据时,pytz 库是一个非常有用的工具,它可以帮你正确处理不同时区的时间转换。
from datetime import datetime
import pytz# 在UTC时区创建一个时间对象
utc_time = datetime.now(pytz.utc)# 转换到上海时区
shanghai_tz = pytz.timezone('Asia/Shanghai')
shanghai_time = utc_time.astimezone(shanghai_tz)print(shanghai_time)
五、总结
Python中的日期和时间处理虽然看似简单,但其背后隐藏着丰富的功能和细节。通过熟练掌握 datetime 和 time 模块的使用,以及了解高级库如 pytz 的能力,你可以轻松应对各种与日期和时间相关的编程挑战。无论是简单的日期格式化,还是复杂的时区转换,Python都能提供强大的支持,让时间成为你程序中的得力助手。
结束语
喜欢博主的同学,请给博主一丢丢打赏吧↓↓↓您的支持是我不断创作的最大动力哟!感谢您的支持哦😘😘😘

💝💝💝如有需要请大家订阅我的专栏【Python系列】哟!我会定期更新相关系列的文章
💝💝💝关注!关注!!请关注!!!请大家关注下博主,您的支持是我不断创作的最大动力!!!
| python相关文章索引 | 文章链接 |
|---|---|
| Python基础语法(一):标识符与保留字部分 | Python基础语法(一):标识符与保留字部分 |
| Python基础语法(二):数据类型 | Python基础语法(二):数据类型 |
| Python基础语法(三):运算符 | Python基础语法(三):运算符 |
| Python基础语法(四):条件控制 | Python基础语法(四):条件控制 |
| Python基础语法(五):循环语句 | Python基础语法(五):循环语句 |
| Python基础语法(六):推导式编程 | Python基础语法(六):推导式编程 |
| Python基础教程(七):函数编程-从基础到进阶 | Python基础教程(七):函数编程-从基础到进阶 |
| Python基础教程(八):迭代器与生成器编程 | Python基础教程(八):迭代器与生成器编程 |
| Python基础教程(九):Lambda 函数 | Python基础教程(九):Lambda 函数 |
| Python基础教程(十):装饰器 | Python基础教程(十):装饰器 |
| Python基础教程(十一):数据结构汇总梳理 | Python基础教程(十一):数据结构汇总梳理 |
| Python基础教程(十二):模块 | Python基础教程(十二):模块 |
| Python基础教程(十三):file文件及相关的函数 | Python基础教程(十三):file文件及相关的函数 |
| Python基础教程(十四):OS 文件/目录方法 | Python基础教程(十四):OS 文件/目录方法 |
| Python基础教程(十五):面向对象编程 | Python基础教程(十五):面向对象编程 |
| Python基础教程(十六):正则表达式 | Python基础教程(十六):正则表达式 |
| Python基础教程(十七):CGI编程 | Python基础教程(十七):CGI编程 |
| Python基础教程(十八):MySQL - mysql-connector 驱动 | Python基础教程(十八):MySQL - mysql-connector 驱动 |
| Python基础教程(十九):网络编程 | Python基础教程(十九):网络编程 |
| Python基础教程(二十):SMTP发送邮件 | Python基础教程(二十):SMTP发送邮件 |
| Python基础教程(二十一):多线程 | Python基础教程(二十一):多线程 |
| Python基础教程(二十二):XML解析 | Python基础教程(二十二):XML解析 |
| Python基础教程(二十三):JSON数据解析 | Python基础教程(二十三):JSON数据解析 |
❤️❤️❤️觉得有用的话点个赞 👍🏻 呗。
❤️❤️❤️本人水平有限,如有纰漏,欢迎各位大佬评论批评指正!😄😄😄
💘💘💘如果觉得这篇文对你有帮助的话,也请给个点赞、收藏下吧,非常感谢!👍 👍 👍
🔥🔥🔥Stay Hungry Stay Foolish 道阻且长,行则将至,让我们一起加油吧!🌙🌙🌙
相关文章:
Python基础教程(二十四):日期和时间
💝💝💝首先,欢迎各位来到我的博客,很高兴能够在这里和您见面!希望您在这里不仅可以有所收获,同时也能感受到一份轻松欢乐的氛围,祝你生活愉快! 💝Ὁ…...
java面向对象(上)
一.面向对象与面向过程 1.面向过程 面向过程(procedure Oriented Programming),简称POP,主要思想就是将问题分解成一个个步骤去解决,把这个步骤称为函数. 典型语言:C语言 优点:可以大大简化代码 缺点:当代码量过大时,不方便维护 2.面向对象 面向对象(Object Oriented Pr…...
揭示SOCKS5代理服务器列表的重要性
在复杂的网络安全领域中,SOCKS5代理在保护在线活动方面发挥着关键作用。本文深入探讨了SOCKS5代理服务器列表的细节,探讨了它们的应用、优势以及在增强在线安全和隐私方面不可或缺的功能。 一、理解SOCKS5代理服务器列表 作为在客户端和服务器之间进行通…...
机器学习python实践——关于ward聚类分层算法的一些个人心得
最近在利用python跟着参考书进行机器学习相关实践,相关案例用到了ward算法,但是我理论部分用的是周志华老师的《西瓜书》,书上没有写关于ward的相关介绍,所以自己网上查了一堆资料,都很难说清楚ward算法,幸…...
从零制作一个docker的镜像
近期docker的镜像仓库不好用了,很多国内的源也无法使用了,所有今天给大家分享一下怎么从零制作一个CentOS镜像。 准备CentOS7最小环境 mkdir /centos7.9-root# 在该目录准备centos的最小环境 sudo yum --installroot/centos7.9-root --releasever7 ins…...
eclipse 老的s2sh(Struts2+Spring+Hibernate) 项目 用import导入直接导致死机(CPU100%)的解决
1、下载Apache Tomcat - Apache Tomcat 8 Software Downloads 图中是8.5.100的版本,下面的设置用的是另一个版本的,其实是一样。 2、先将Server配好,然后再进行导入操作。 2、选择jdk 当然,这里也可以直接“Download and instal…...
《米小圈动画汉字》汉字教育动画化:传统与创新的完美融合!
汉字,作为中华文化的瑰宝,承载着千百年来中华民族的智慧和思想。每一个汉字不仅仅是一个符号,更是一段历史的见证,一种文化的传承。在当今全球化的背景下,汉字教育面临着新的挑战与机遇。在这种背景下,如何…...
【LeetCode最详尽解答】11-盛最多水的容器 Container-With-Most-Water
欢迎收藏Star我的Machine Learning Blog:https://github.com/purepisces/Wenqing-Machine_Learning_Blog。如果收藏star, 有问题可以随时与我交流, 谢谢大家! 链接: 11-盛最多水的容器 直觉 这个问题可以通过可视化图表来理解和解决。 通过图形化这个…...
redis 缓存jwt令牌设置更新时间 BUG修复
大家好,今天我又又又来了,hhhhh。 上文中 我们永redis缓存了token 但是我们发现了 一个bug ,redis中缓存的token 是单用户才能实现的。 就是 我 redis中存储的键 名 为token 值 是jwt令牌 ,但是如果 用户a 登录 之后 创建一个…...
nginx精准禁止特定国家或者地区IP访问
1、安装依赖 dnf -y install gcc-c libtool gd-devel pcre pcre-devel openssl openssl-devel zlib zlib-devel libmaxminddb-devel pcre-devel zlib-devel gcc gcc-c make git2、获取NGINX安装包并安装 wget https://nginx.org/download/nginx-1.26.1.tar.gz git clone http…...
单片机课设-基于单片机的电子时钟设计(仿真+代码+报告)
基于单片机的电子时钟设计 前言一、课设任务是什么?二、系统总体方案硬件设计2.1 系统硬件总体设计2.2 键盘电路设计2.3 DS1302实时时钟芯片电路设计2.4 复位电路2.5 LCD电路设计 三、软件设计3.1 主程序流程图3.2 主要程序设计代码3.3 修改时间函数3.4 扫描键盘函数 四、仿真…...
.net 6 api 修改URL为小写
我们创建的api项目,url是[Route(“[controller]”)],类似这样子定义的。我们的controller命名是大写字母开头的,显示在url很明显不是很好看(url不区分大小写)。转换方式: var builder WebApplication.Crea…...
Windows电脑部署Jellyfin服务端并进行远程访问配置详细教程
文章目录 前言1. Jellyfin服务网站搭建1.1 Jellyfin下载和安装1.2 Jellyfin网页测试 2.本地网页发布2.1 cpolar的安装和注册2.2 Cpolar云端设置2.3 Cpolar本地设置 3.公网访问测试4. 结语 前言 本文主要分享如何使用Windows电脑本地部署Jellyfin影音服务并结合cpolar内网穿透工…...
rsync同步目录脚本
假设有两台服务器的示例 IP 地址为: Server A: 192.168.1.100Server B: 192.168.1.200 现在来解释如何使用这个脚本进行服务器之间文件夹内容的同步,保留路径和服务器信息的抽象化。 1. 脚本文件位置和权限 假设脚本文件位于 /root/script.sh&#x…...
LeetCode 6. Z 字形变换
LeetCode 6. Z 字形变换 将一个给定字符串 s 根据给定的行数 numRows ,以从上往下、从左到右进行 Z 字形排列。 比如输入字符串为 “PAYPALISHIRING” 行数为 3 时,排列如下: 之后,你的输出需要从左往右逐行读取,产生…...
RTC实时时钟
一、Unix时间戳 1、Unix 时间戳 (1)Unix 时间戳(Unix Timestamp)定义为从UTC/GMT的1970年1月1日0时0分0秒开始所经过的秒数,不考虑闰秒 (2)时间戳存储在一个秒计数器中,秒计数器为…...
WHAT - React 学习系列(一)
官方文档 If you have a lot of HTML to port to JSX, you can use an online converter. You’ll get two things from useState: the current state (count), and the function that lets you update it (setCount). To “remember” things, components use state.To mak…...
代理模式(静态代理/动态代理)
代理模式(Proxy Pattern) 一 定义 为其他对象提供一种代理,以控制对这个对象的访问。 代理对象在客户端和目标对象之间起到了中介作用,起到保护或增强目标对象的作用。 属于结构型设计模式。 代理模式分为静态代理和动态代理。…...
Word2Vec基本实践
系列文章目录 提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加 例如:第一章 Python 机器学习入门之pandas的使用 提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目…...
IIS配置網站登錄驗證,禁止匿名登陸
需要維護一個以前的舊系統,這個系統在內網運行,需要抓取電腦的登陸賬號,作為權限管理的一部分因此需要在IIS配置一下...
IDEA运行Tomcat出现乱码问题解决汇总
最近正值期末周,有很多同学在写期末Java web作业时,运行tomcat出现乱码问题,经过多次解决与研究,我做了如下整理: 原因: IDEA本身编码与tomcat的编码与Windows编码不同导致,Windows 系统控制台…...
深度学习在微纳光子学中的应用
深度学习在微纳光子学中的主要应用方向 深度学习与微纳光子学的结合主要集中在以下几个方向: 逆向设计 通过神经网络快速预测微纳结构的光学响应,替代传统耗时的数值模拟方法。例如设计超表面、光子晶体等结构。 特征提取与优化 从复杂的光学数据中自…...
cf2117E
原题链接:https://codeforces.com/contest/2117/problem/E 题目背景: 给定两个数组a,b,可以执行多次以下操作:选择 i (1 < i < n - 1),并设置 或,也可以在执行上述操作前执行一次删除任意 和 。求…...
基于matlab策略迭代和值迭代法的动态规划
经典的基于策略迭代和值迭代法的动态规划matlab代码,实现机器人的最优运输 Dynamic-Programming-master/Environment.pdf , 104724 Dynamic-Programming-master/README.md , 506 Dynamic-Programming-master/generalizedPolicyIteration.m , 1970 Dynamic-Programm…...
听写流程自动化实践,轻量级教育辅助
随着智能教育工具的发展,越来越多的传统学习方式正在被数字化、自动化所优化。听写作为语文、英语等学科中重要的基础训练形式,也迎来了更高效的解决方案。 这是一款轻量但功能强大的听写辅助工具。它是基于本地词库与可选在线语音引擎构建,…...
《C++ 模板》
目录 函数模板 类模板 非类型模板参数 模板特化 函数模板特化 类模板的特化 模板,就像一个模具,里面可以将不同类型的材料做成一个形状,其分为函数模板和类模板。 函数模板 函数模板可以简化函数重载的代码。格式:templa…...
QT3D学习笔记——圆台、圆锥
类名作用Qt3DWindow3D渲染窗口容器QEntity场景中的实体(对象或容器)QCamera控制观察视角QPointLight点光源QConeMesh圆锥几何网格QTransform控制实体的位置/旋转/缩放QPhongMaterialPhong光照材质(定义颜色、反光等)QFirstPersonC…...
Proxmox Mail Gateway安装指南:从零开始配置高效邮件过滤系统
💝💝💝欢迎莅临我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:「storms…...
TJCTF 2025
还以为是天津的。这个比较容易,虽然绕了点弯,可还是把CP AK了,不过我会的别人也会,还是没啥名次。记录一下吧。 Crypto bacon-bits with open(flag.txt) as f: flag f.read().strip() with open(text.txt) as t: text t.read…...
TCP/IP 网络编程 | 服务端 客户端的封装
设计模式 文章目录 设计模式一、socket.h 接口(interface)二、socket.cpp 实现(implementation)三、server.cpp 使用封装(main 函数)四、client.cpp 使用封装(main 函数)五、退出方法…...
