【python学习】标准库之日期和时间库定义、功能、使用场景和示例
引言
datetime模块最初是由 Alex Martelli 在 Python 2.3 版本引入的,目的是为了解决之前版本中处理日期和时间时存在的限制和不便
在datetime模块出现之前,Python 主要使用time模块来处理时间相关的功能,但time模块主要基于 Unix 纪元时间(即从1970年1月1日开始的秒数),对于复杂的日期和时间操作不够灵活
随着时间的推移,
datetime模块经过了多次改进,现在已经成为Python标准库中处理日期和时间相关问题的首选模块
文章目录
- 引言
- 一、定义
- 二、功能
- 2.1 创建日期和时间对象
- 2.2 日期和时间运算
- 2.3 格式化和解析日期和时间
- 2.4 时间差和时间间隔
- 三、使用场景
- 3.1 日期和时间表示
- 3.2 日期和时间运算
- 3.3 日期和时间格式化
- 3.4 时间差和时间间隔
- 3.5 时区操作
- 3.6 日期和时间迭代
- 四、代码示例
- 4.1 创建日期和时间对象
- 4.2 从字符串解析日期和时间
- 4.3 日期和时间运算
- 4.4 格式化和解析日期和时间
- 4.5 时间差和时间间隔
- 4.6 时区操作
- 五、总结(思维导图)
一、定义
在Python中,日期和时间处理的标准库是
datetime模块,它定义了一系列的功能和方法,用于操作和格式化日期和时间
二、功能
2.1 创建日期和时间对象
datetime.datetime.now(): 获取当前的日期和时间datetime.datetime.fromtimestamp(timestamp): 从Unix纪元以来的秒数创建日期和时间对象datetime.datetime.utcfromtimestamp(timestamp): 从UTC时区的Unix纪元以来的秒数创建日期和时间对象datetime.datetime.strptime(date_string, format): 从字符串解析日期和时间对象
2.2 日期和时间运算
datetime.datetime.date(): 获取日期对象datetime.datetime.time(): 获取时间对象datetime.datetime.timetuple(): 将日期和时间对象转换为元组datetime.datetime.utcoffset(): 获取UTC时区的偏移量
2.3 格式化和解析日期和时间
datetime.datetime.strftime(format): 将日期和时间对象格式化为字符串datetime.datetime.strptime(date_string, format): 从字符串解析日期和时间对象
2.4 时间差和时间间隔
datetime.timedelta: 表示两个日期和时间之间的差值,可以加减日期和时间
三、使用场景
3.1 日期和时间表示
- 创建当前日期和时间对象
- 创建特定日期和时间的对象
- 从字符串解析日期和时间对象
3.2 日期和时间运算
- 获取日期和时间对象的时间戳
- 获取日期和时间对象的UTC偏移量
- 进行日期和时间的加减运算
3.3 日期和时间格式化
- 将日期和时间对象格式化为字符串
- 从字符串解析日期和时间对象
3.4 时间差和时间间隔
- 计算两个日期和时间之间的差值
- 进行日期和时间的加减运算
3.5 时区操作
- 创建时区对象
- 将日期和时间对象转换为特定时区的日期和时间
3.6 日期和时间迭代
- 遍历日期和时间对象
这些是
datetime模块中的一些基本功能和类,在Python中,日期和时间处理通常使用这个模块,因为它提供了简单、强大的日期和时间操作功能
四、代码示例
4.1 创建日期和时间对象
datetime.datetime.now(): 获取当前的日期和时间
from datetime import datetime
now = datetime.now()
print(now) # 输出: 2023-04-01 12:00:00
4.2 从字符串解析日期和时间
datetime.datetime.strptime(date_string, format): 将字符串解析为日期和时间对象
date_string = "2023-04-01 12:00:00"
parsed_datetime = datetime.strptime(date_string, "%Y-%m-%d %H:%M:%S")
print(parsed_datetime) # 输出: 2023-04-01 12:00:00
4.3 日期和时间运算
datetime.datetime.date(): 获取日期对象datetime.datetime.time(): 获取时间对象datetime.datetime.timetuple(): 将日期和时间对象转换为元组datetime.datetime.utcoffset(): 获取UTC时区的偏移量
now = datetime.now()
date = now.date()
time = now.time()
utcoffset = now.utcoffset()
print(date) # 输出: 2023-04-01
print(time) # 输出: 12:00:00
print(utcoffset) # 输出: datetime.timedelta(0, 14400)
4.4 格式化和解析日期和时间
datetime.datetime.strftime(format): 将日期和时间对象格式化为字符串datetime.datetime.strptime(date_string, format): 从字符串解析日期和时间对象
now = datetime.now()
formatted_now = now.strftime("%Y-%m-%d %H:%M:%S")
print(formatted_now) # 输出: 2023-04-01 12:00:00
4.5 时间差和时间间隔
datetime.timedelta: 表示两个日期和时间之间的差值,可以加减日期和时间
from datetime import timedelta
delta = timedelta(days=1, hours=12)
future_datetime = now + delta
print(future_datetime) # 输出: 2023-04-02 00:00:00
4.6 时区操作
datetime.timezone: 表示时区,可以用于时间转换datetime.datetime.astimezone(): 将日期和时间对象转换为特定时区的日期和时间
from datetime import timezone
utc_time = datetime.now(timezone.utc)
local_time = utc_time.astimezone()
print(utc_time) # 输出: 2023-04-01 12:00:00+00:00
print(local_time) # 输出: 2023-04-01 12:00:00
这些是
datetime模块中的一些基本功能和方法的代码示例
五、总结(思维导图)

相关文章:
【python学习】标准库之日期和时间库定义、功能、使用场景和示例
引言 datetime模块最初是由 Alex Martelli 在 Python 2.3 版本引入的,目的是为了解决之前版本中处理日期和时间时存在的限制和不便 在datetime模块出现之前,Python 主要使用time模块来处理时间相关的功能,但 time模块主要基于 Unix 纪元时间&…...
Android --- Kotlin学习之路:基础语法学习笔记
------>可读可写变量 var name: String "Hello World";------>只读变量 val name: String "Hello World"------>类型推断 val name: String "Hello World" 可以写成 val name "Hello World"------>基本数据类型 1…...
嵌入式智能手表项目实现分享
简介 这是一个基于STM32F411CUE6和FreeRTOS和LVGL的低成本的超多功能的STM32智能手表~ 推荐 如果觉得这个手表的硬件难做,又想学习相关的东西,可以试下这个新出的开发板,功能和例程demo更多!FriPi炸鸡派STM32F411开发板: 【STM32开发板】 FryPi炸鸡派 - 嘉立创EDA开源硬件平…...
`nmap`模块是一个用于与Nmap安全扫描器交互的库
在Python中,nmap模块是一个用于与Nmap安全扫描器交互的库。Nmap(Network Mapper)是一个开源工具,用于发现网络上的设备和服务。虽然Python的nmap模块可能不是官方的Nmap库(因为Nmap本身是用C/C编写的)&…...
JVM系列 | 对象的创建与存储
JVM系列 | 对象的生命周期1 对象的创建与存储 文章目录 前言对象的创建过程内存空间的分配方式方式1 | 指针碰撞方式2 | 空闲列表 线程安全问题 | 避免空间冲突的方式方式1 | 同步处理(加锁)方式2 | 本地线程分配缓存 对象的内存布局Part1 | 对象头Mark Word类型指针…...
【JavaScript 算法】快速排序:高效的排序算法
🔥 个人主页:空白诗 文章目录 一、算法原理二、算法实现三、应用场景四、优化与扩展五、总结 快速排序(Quick Sort)是一种高效的排序算法,通过分治法将数组分为较小的子数组,递归地排序子数组。快速排序通常…...
Excel如何才能忽略隐藏行进行复制粘贴?
你有没有遇到这样的情况:数据很多,将一些数据隐藏后,进行复制粘贴,结果发现粘贴后的内容仍然将整个数据都显示出来了!那么,Excel如何才能忽略隐藏行进行复制粘贴? 打开你的Excel表格 Excel如何…...
行人越界检测 越线 越界区域 多边形IOU越界判断
行人越界判断 越界判断方式:(1)bbox中心点越界(或自定义)(2)交并比IoU判断 越界类型:(1)越线 (2)越界区域 1.越线判断 bbox中心点xc、…...
「UCD」浅谈蓝湖Figma交互设计对齐
在现代数字产品的设计和开发过程中,选择合适的工具对于提高团队效率和保证产品质量至关重要。本文将从开发和设计两个不同的角度,探讨蓝湖和Figma两款流行工具的优势与不足,并提出结论和建议。 开发研发视角:蓝湖 优点: 清晰的设计规范:蓝湖为开发工程师提供了清晰的设计…...
VUE3 播放RTSP实时、回放(NVR录像机)视频流(使用WebRTC)
1、下载webrtc-streamer,下载的最新window版本 Releases mpromonet/webrtc-streamer GitHub 2、解压下载包 3、webrtc-streamer.exe启动服务 (注意:这里可以通过当前文件夹下用cmd命令webrtc-streamer.exe -o这样占用cpu会很少,…...
[PaddlePaddle飞桨] PaddleOCR-光学字符识别-小模型部署
PaddleOCR的GitHub项目地址 推荐环境: PaddlePaddle > 2.1.2 Python > 3.7 CUDA > 10.1 CUDNN > 7.6pip下载指令: python -m pip install paddlepaddle-gpu2.5.1 -i https://pypi.tuna.tsinghua.edu.cn/simple pip install paddleocr2.7…...
Python应用开发——30天学习Streamlit Python包进行APP的构建(15):优化性能并为应用程序添加状态
Caching and state 优化性能并为应用程序添加状态! Caching 缓存 Streamlit 为数据和全局资源提供了强大的缓存原语。即使从网络加载数据、处理大型数据集或执行昂贵的计算,它们也能让您的应用程序保持高性能。 本页仅包含有关 st.cache_data API 的信息。如需深入了解缓…...
python实现openssl的EVP_BytesToKey及AES_256_CBC加解密算法
python实现openssl EVP_BytesToKey(EVP_aes_256_cbc(), EVP_md5(), NULL, pass, passlen, 1, key, iv); 并实现AES 256 CBC加解密. # encoding:utf-8import base64 from Crypto.Cipher import AES from Crypto import Random from hashlib import md5def EVP_BytesToKey(passw…...
基于SpringBoot+VueJS+微信小程序技术的图书森林共享小程序设计与实现
注:每个学校每个老师对论文的格式要求不一样,故本论文只供参考,本论文页数达到60页以上,字数在6000及以上。 基于SpringBootVueJS微信小程序技术的图书森林共享小程序设计与实现 目录 基于SpringBootVueJS微信小程序技术的图书森…...
【css】image 使用 transform:scale 放大后显示不全的问题
css 可以用 transform: scale(1.2) 实现图片放大 1.2 倍显示的功能,在此基础上可以修改 transform-origin 为用户点击的坐标值优化体验。问题在于 origin 位于图片下方时,图片放大后出现滚动条,而滚动条的高度会忽略放大显示的图片的上半部分…...
损失函数简介
损失函数(Loss Function)是机器学习中用来衡量模型预测值与真实值之间差异的函数。在训练过程中,通过最小化损失函数来优化模型的参数,以提高模型的预测准确性。 以下是损失函数的主要用途和一些常用的损失函数类型: 损失函数的用途: 评估模型性能:损失函数提供了一个…...
2023睿抗CAIP-编程技能赛-本科组省赛(c++)
RC-u1 亚运奖牌榜 模拟 AC: #include<iostream> using namespace std; struct nation{int j,y,t; }a[2]; int main(){int n;cin>>n;for(int i1;i<n;i){int x,y;cin>>x>>y;if(y1) a[x].j;if(y2) a[x].y;if(y3) a[x].t;}cout<<a[0].j<<&…...
现在国内的ddos攻击趋势怎么样?想了解现在ddos的情况该去哪看?
目前,国内的DDoS攻击趋势显示出以下几个特征: 攻击频次显著增加:根据《快快网络2024年DDoS攻击趋势白皮书》,2023年DDoS攻击活动有显著攀升,总攻击次数达到1246.61万次,比前一年增长了18.1%。 攻击强度和规…...
微服务到底是个什么东东?
微服务架构是一种架构模式,它提倡将单一应用程序划分成一组小的服务,服务之间互相协调、互相配合,为用户提供最终价值。 每个服务运行在其独立的进程中,服务和服务间采用轻量级的通信机制互相沟通(通常是基于 HTTP 的…...
C++笔试强训5
文章目录 一、选择题1-5题6-10题 二、编程题题目一题目二 一、选择题 1-5题 x1,先x,再x–,while判断永远为真,故死循环 选D。 sizeof会计算\0,strlen不包括\0,并且strlen只计算\0之前的。 所以sizeof是10,strken是4 …...
今天不建Lovable ML平台,明天就被团队弃用!2025年AI工程团队留存率预警下的4步速建法
更多请点击: https://kaifayun.com 第一章:Lovable ML平台搭建 构建一个真正“可亲、可用、可信赖”的机器学习平台,核心不在于堆砌尖端框架,而在于以开发者体验(DX)和数据科学家工作流为设计原点。Lovab…...
3分钟上手跨平台资源下载神器:轻松获取微信视频号、抖音无水印内容
3分钟上手跨平台资源下载神器:轻松获取微信视频号、抖音无水印内容 【免费下载链接】res-downloader 视频号、小程序、抖音、快手、小红书、直播流、m3u8、酷狗、QQ音乐等常见网络资源下载! 项目地址: https://gitcode.com/GitHub_Trending/re/res-downloader …...
如何快速解决Windows 11区域模拟问题:完整API钩子技术指南
如何快速解决Windows 11区域模拟问题:完整API钩子技术指南 【免费下载链接】Locale_Remulator System Region and Language Simulator. 项目地址: https://gitcode.com/gh_mirrors/lo/Locale_Remulator Locale Remulator是一款强大的系统区域和语言模拟工具&…...
为你的大模型应用快速接入Taotoken,Python调用只需三步
🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 为你的大模型应用快速接入Taotoken,Python调用只需三步 对于希望在自己的应用中集成大模型能力的开发者而言࿰…...
OpenSpeedy:开源游戏加速神器,彻底告别卡顿体验
OpenSpeedy:开源游戏加速神器,彻底告别卡顿体验 【免费下载链接】OpenSpeedy 🎮 An open-source game speed modifier. 项目地址: https://gitcode.com/gh_mirrors/op/OpenSpeedy 还在为游戏中的卡顿、掉帧和加载缓慢而烦恼吗…...
观测通过Taotoken调用大模型API的延迟与用量消耗体验
🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 观测通过Taotoken调用大模型API的延迟与用量消耗体验 在开发工作中引入大模型能力,例如自动生成代码注释,已…...
gibMacOS深度技术解析:跨平台macOS组件下载与构建系统
gibMacOS深度技术解析:跨平台macOS组件下载与构建系统 【免费下载链接】gibMacOS Py2/py3 script that can download macOS components direct from Apple 项目地址: https://gitcode.com/gh_mirrors/gi/gibMacOS gibMacOS是一款基于Python开发的跨平台macOS…...
Open WebUI企业级部署指南:全功能AI平台架构与生产环境实践
Open WebUI企业级部署指南:全功能AI平台架构与生产环境实践 【免费下载链接】open-webui User-friendly AI Interface (Supports Ollama, OpenAI API, ...) 项目地址: https://gitcode.com/GitHub_Trending/op/open-webui Open WebUI是一个功能强大的自托管A…...
ncmdump:网易云NCM音乐解密转换终极指南
ncmdump:网易云NCM音乐解密转换终极指南 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 在数字音乐时代,网易云音乐的NCM加密格式成为众多音乐爱好者的使用障碍。ncmdump作为一款高效的开源解密工具ÿ…...
3个步骤:如何在Windows 11上实现Android应用无缝安装与管理
3个步骤:如何在Windows 11上实现Android应用无缝安装与管理 【免费下载链接】wsa-toolbox A Windows 11 application to easily install and use the Windows Subsystem For Android™ package on your computer. 项目地址: https://gitcode.com/gh_mirrors/ws/ws…...
