Python日期时间模块
Python 提供了 日期和时间模块用来处理日期和时间,还可以用于格式化日期和时间等常见功能。
- 时间间隔是以秒为单位的浮点小数。
- 每个时间戳都以自从 1970 年 1 月 1 日午夜(历元)经过了多长时间来表示。
一、time模块使用
Time 模块包含了大量内置函数,既有时间处理的,也有转换时间格式的。
1、获取当前时间
import time# 获取时间戳 返回的是浮点型
# 作用 用来计算时间差
print(time.time()) # 1676775733.1080997# 获取当地时间 返回的是结构化时间
print(time.localtime())# 获取UTC时间 返回的还是结构化时间 比中国时间少8小时
print(time.gmtime())
1.1 时间元组
时间元组:Python函数用一个元组装起来的9组数字处理时间。
上面也就是 struct_time 元组。这种结构具有如下属性:
2、格式化时间
2.1 获取格式化的时间
import time# 获取本地时间
localtime = time.asctime(time.localtime(time.time()))
#localtime = time.asctime(time.localtime())
print("本地时间为 :", localtime)
## 本地时间为 : Mon Feb 20 20:49:10 2023
2.2 格式化时间转换
使用 time 模块的
strftime 方法
来格式化日期,通过strptime方法
来格式化字符串。
# 时间转换为格式字符串
print(time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()))
print(time.strftime("%Y-%m-%d %H:%M:%S", time.localtime(time.time())))# 格式字符串转换为时间
str = "2023-02-14 05:20:00"
print(time.strptime(str, "%Y-%m-%d %H:%M:%S"))# 格式字符串转换为时间戳
print(time.mktime(time.strptime(str, "%Y-%m-%d %H:%M:%S")))
Python中时间日期格式化符号:
- %y 两位数的年份表示(00-99)
- %Y 四位数的年份表示(000-9999)
- %m 月份(01-12)
- %d 月内中的一天(0-31)
- %H 24小时制小时数(0-23)
- %I 12小时制小时数(01-12)
- %M 分钟数(00=59)
- %S 秒(00-59)
- %a 本地简化星期名称
- %A 本地完整星期名称
- %b 本地简化的月份名称
- %B 本地完整的月份名称
- %c 本地相应的日期表示和时间表示
- %j 年内的一天(001-366)
- %p 本地A.M.或P.M.的等价符
- %U 一年中的星期数(00-53)星期天为星期的开始
- %w 星期(0-6),星期天为星期的开始
- %W 一年中的星期数(00-53)星期一为星期的开始
- %x 本地相应的日期表示
- %X 本地相应的时间表示
- %Z 当前时区的名称
- %% %号本身
二、datetime模块
datetime模块提供了对时间和日期进行操作的功能。
datatime模块通过date类、time类、datetime类、timedelta类、timezone类等来获取或者操作时间、日期。
与time模块相比,datetime模块提供的接口更直观、易用,功能也更加强大。
1、获取当前时间
from datetime import datetime# 获取时间 获取当前时间 并且返回的是格式化字符时间
now = datetime.now()
print(now)
print(type(now))
print(now.year)
print(now.month)
print(now.day)
print(now.hour)
print(now.minute)
print(now.second)
print(now.microsecond)# 手动指定时间
print(datetime(2023, 2, 20, 20, 50, 00))# 替换某个时间单位的值
print(now.replace(year=2024))d1 = datetime.now()
d2 = datetime(2024, 2, 20, 20, 50, 00)
print(d1 - d2)
2、格式化时间
(1)datetime 转 字符串,通过 strftime()函数。
from datetime import datetimenow = datetime.now()
# 强制转换字符串
print(str(now))# 格式化日期 转换 字符串
print(now.strftime("%Y/%m/%d %H:%M:%S"))
print(now.strftime("%Y-%m-%d %H:%M:%S"))
print(now.strftime("%Y/%m/%d"))
print(now.strftime("%Y-%m-%d"))
(2)字符串 转 datetime对象,通过 strptime()函数。
dates = ['2022-02-20 20:23:35', '2024-02-20 20:23:35']
datelist = [datetime.strptime(i, "%Y-%m-%d %H:%M:%S") for i in dates]
print(datelist)
# [datetime.datetime(2022, 2, 20, 20, 23, 35), datetime.datetime(2024, 2, 20, 20, 23, 35)]
(3)parse() 解析字符串
将字符串形式的日期解析成 datetime对象。
# 需要安装 pip install python-dateutil
from dateutil.parser import parseprint(parse('2/20/2023'))
print(parse('2023-2-20'))
print(parse('2023.2.20'))
print(parse('2023 2 4'))
print(parse('2023, 6, 2'))
3、计算时间间隔
时间间隔 timedelta
import datetimenow = datetime.datetime.now()
print(now)# 3天后
dt1 = now + datetime.timedelta(3)
print(dt1)# 3天前
dt2 = now + datetime.timedelta(-3)
print(dt2)# 3小时30秒后
dt3 = now + datetime.timedelta(hours=3, seconds=30)
print(dt3)
三、calendar模块
calendar模块的函数都是日历相关的,例如打印某月的字符月历。
calendar 特点:
- calendar 模块是基于datetime.date.weekday()对计算每一周的周数
- calendar 默认星期一是每一周的第一天,星期天是一周的最后一天
- calendar 提供calendar.setfirstweeksday()来更改指定星期几为一周的第一天
1、打印日历
import calendar# 打印指定某年的月历
print(calendar.month(2023, 5))# 打印2023年历
# print(calendar.calendar(2023))
上面示例了一些常见的操作,下面参考文章(感谢博主)中详细列举的各模块之间的属性和方法,这里就不重复造轮子啦。
参考文章:
- 菜鸟教程-Python3 日期和时间:https://www.runoob.com/python3/python3-date-time.html
- python datetime模块:https://blog.csdn.net/weixin_49346755/article/details/125268077
- Python calendar模块详情:http://www.zzvips.com/article/230613.html
– 求知若饥,虚心若愚。
相关文章:

Python日期时间模块
Python 提供了 日期和时间模块用来处理日期和时间,还可以用于格式化日期和时间等常见功能。 时间间隔是以秒为单位的浮点小数。每个时间戳都以自从 1970 年 1 月 1 日午夜(历元)经过了多长时间来表示。 一、time模块使用 Time 模块包含了大…...
学以致用——植物信息录入1.0(selenium+pandas+os+tkinter)
目的 书接上文,学以致用——植物信息录入(seleniumpandasostkinter) 更新要点: tkinter界面:自动登录、新增(核心功能)、文件夹选择、流程台selenium自动化操作:验证码识别excel数据…...

什么是压敏电阻
下面的这些都是压敏电阻,常常用在一些电源和信号的浪涌防护电路中。这个是它的电路符号,电路中常用RV表示。当压敏电阻两端电压小于压敏电压时,压敏电阻相当于一个阻值非常大的电阻。当压敏电阻两端电压大于压敏电压时,压敏电阻相…...
Leetcode.901 股票价格跨度
题目链接 Leetcode.901 股票价格跨度 Rating : 1709 题目描述 设计一个算法收集某些股票的每日报价,并返回该股票当日价格的 跨度 。 当日股票价格的 跨度 被定义为股票价格小于或等于今天价格的最大连续日数(从今天开始往回数,…...

vue入门(四)组件基础,$emits简单用法
上一篇:vue入门(三)事件(方法)处理、侦听器、模板引用 1.组件最基础的用法: 首先有一个button.vue的组件,里面只画了一个按钮 button.vue: <script> export default({data(){return{but…...

VBA提高篇_27 OptionBOX_CheckBox_Frame_Image_VBA附加控件
文章目录1.单选按钮OptionBOX:2.复选框CheckBox:3.框架Frame:4.图像Image: (loadPictrue)5. VBA附加控件:6. 适用于很多控件的重要属性:1.单选按钮OptionBOX: 默认时,同一窗体的所有单选按钮均属于同一组,只能选中一个 可通过Frame控件进行分组解决. 2.复选框CheckBox: 一次可以…...

STM32开发(11)----CubeMX配置独立看门狗(IWDG)
CubeMX配置独立看门狗(IWDG)前言一、独立看门狗的介绍二、实验过程1.STM32CubeMX配置独立看门狗2.代码实现3.硬件连接4.实验结果总结前言 本章介绍使用STM32CubeMX对独立看门狗定时器进行配置的方法。门狗本质上是一个定时器,提供了更高的安…...

医疗方案 | 星辰天合入选“2022智慧新医信优秀解决方案”
近日,由 HC3i数字医疗网主办的《数字化转型驱动下的医院高质量发展论坛》暨 2022 智慧新医信优秀解决方案发布仪式在线上召开。XSKY星辰天合的“智慧医疗软件定义数据基础设施”解决方案成功入选 2022 智慧新医信优秀解决方案,。此次论坛由 HC3i 数字医疗…...

【系统服务实战】tomcat服务的安装实战
未来要更新的专栏(此表格后面会继续完善) 专栏系列学习路线完成情况云原生系列linux基本功系列-基础命令汇总已更新51个命令云原生系列linux基本功系列-系统服务实战正在更新文章目录前言一. tomcat的概述1.1 什么是tomcat1.2 tomcat的官网二. tomcat单…...

【图文详解】Unity存储游戏数据的几种方法
Unity3D存储游戏数据的方式1 PlayerPrefs: Unity自带的一种简单的键值存储系统2 ScriptableObject: Unity中最灵活的数据管理工具2.1 如何手动创建和修改数据文件2.2 ScriptableObject优缺点总结3 JSON: 轻量级的数据交换格式3.1 序列化与反序列化3.2 用JsonUtility对对象进行序…...

SESAM 安装教程
SESAM (Super Element Structure Analysis Module)是由挪威船级社(DNV-GL)开发的一款有限元分析(FEA)系统,它以 GeniE、HydroD 和 DeepC 等模块为核心,主要用于海工结构的强度评估、…...

语言文件操作
🌱博客主页:大寄一场. 🌱系列专栏:C语言学习笔记 😘博客制作不易欢迎各位👍点赞⭐收藏➕关注 目录 前言 C语言中的文件打开和关闭 文件指针 文件的打开和关闭 fclose 文件的顺序读写 fseek ftell …...

Java面试题--熔断和降级的区别
熔断和降级都是系统自我保护的一种机制,但二者又有所不同,它们的区别主要体现在以下几点: 概念不同 触发条件不同 归属关系不同 1.概念不同 1.1熔断概念 “熔断”一词早期来自股票市场。熔断(Circuit Breaker)也…...

阅读笔记5——深度可分离卷积
一、标准卷积 标准卷积在卷积时,同时考虑了特征图的区域和通道信息。 标准卷积的过程如图1-1所示,假设输入特征图的channel3,则每个卷积核的channel都为3,每个卷积核的3个channel对应提取输入特征图的3个channel的特征(…...

Microsoft Dynamics 365:导入License到服务层,通过Business Central Administration Shell
本文主要是Microsoft Dynamics 365的License导入的图解干货,不多赘述,直接上图:第一步:准备好的License文件放在你喜欢的目录下第二步:到开始程序里找到并打开 Business Central Administration Shell3.第三步…...
centos6.10安装FastDfs出错的问题
在centos6.10虚拟机安装dfs文件服务器时,安装报错,报错为: gcc: error trying to exec cc1’: execvp: 没有那个文件或目录 1.ping www.baidu.con 排查网络是否通 2.yum update 排查yum源是否可用 3.yum源地址不可用时,修改yu…...

基础组件之内存池
内存池技术 操作系统在运行进程的过程中,会产生内存碎片,降低了内存的使用率。内存池技术就是为了解决/减少内存碎片的一种方法,内部底层的具体实现根据不同业务场景使用不要的方式,以下是一种好理解的方式,供大家一起…...
前端面试题--了解并简单介绍一下typescript
前端面试题–了解并简单介绍一下typescript TypeScript是JavaScript的超集,具有可选的类型并可以编译为纯JavaScript。 从技术上讲TypeScript就是具有静态类型的 JavaScript 。 向JavaScript添加静态类型的原因是什么?我想原因至少有三个: …...
【pytorch】ModuleList 与 ModuleDict
ModuleList 与 ModuleDict1、ModuleList2、ModuleDict3、总结1、ModuleList 1)ModuleList 接收一个子模块的列表作为输入,然后也可以类似 List 那样进行 append 和 extend 操作: net nn.ModuleList([nn.Linear(784, 256), nn.ReLU()]) net.append(nn.…...
Hive窗口函数语法规则、窗口聚合函数、窗口表达式、窗口排序函数 - ROW NUMBER 、口排序函数 - NTILE、窗口分析函数
Hive窗口函数 文章目录Hive窗口函数语法规则窗口聚合函数窗口表达式窗口排序函数 - ROW NUMBER窗口排序函数 - NTILE窗口分析函数窗口函数也叫开窗函数、OLAP函数其最大特点:输入值是从SELECT语句的结果集中的一行或多行的“窗口”中获取的。如果函数具有OVER子句&a…...
用Python训练自动驾驶神经网络:从零开始驾驭未来之路
用Python训练自动驾驶神经网络:从零开始驾驭未来之路 哈喽,朋友们!我是Echo_Wish,今天咱们聊点超酷的话题——自动驾驶中的神经网络训练,用Python怎么玩转起来? 说实话,自动驾驶一直是科技圈的香饽饽,为什么?因为它承载了未来交通的无限可能:减少事故、提升效率、节…...

【大模型】【推荐系统】LLM在推荐系统中的应用价值
文章目录 A 论文出处B 背景B.1 背景介绍B.2 问题提出B.3 创新点B.4 两大推荐方法 C 模型结构C.1 知识蒸馏(训练过程)C.2 轻量推理(部署过程) D 实验设计E 个人总结 A 论文出处 论文题目:SLMRec:Distilling…...

通过阿里云 DashScope API 调用通义千问
获取API Key 百炼控制台https://bailian.console.aliyun.com/?tabmodel#/api-key 步骤 1:安装 DashScope SDK pip install dashscope 步骤 2:LangChain 调用 from langchain_community.llms import Tongyi# 设置阿里云 API Key(从环境变…...

大故障:阿里云核心域名爆炸了
大故障:阿里云核心域名被拖走了 今天早上许多群里出现网站故障的讨论,比如 cnblogs 全国访问一片红,一看原来是阿里云又出故障了。 今天早上许多群里出现网站故障的讨论,比如 cnblogs 全国访问一片红,一看原来是阿里云…...
MySQL 迁移至 Docker ,删除本地 mysql
macOS 的删除有大量的配置文件和相关数据文件要删除,如果 update mysql 那么数据更杂。 停止 MYSQL 使用 brew 安装,则 brew services stop mysql 停止 mysql 。 如果没有使用 brew 安装,则 sudo /usr/local/mysql/support-files/mysq…...
LangChain面试内容整理-知识点1:LangChain架构与核心理念
LangChain 是一个用于构建基于大型语言模型(LLM)的应用的框架,其架构采用模块化设计,核心理念是将语言模型与外部工具、数据源相结合,以实现复杂任务的分解与执行medium.com。整个框架可以理解为一系列可组合的组件,包括链(Chain)、智能体(Agent)、工具(Tool)和LLM…...

人机融合智能 | 可穿戴计算设备的多模态交互
可穿戴计算设备可以对人体以及周围环境进行连续感知和计算,为用户提供随时随地的智能交互服务。本章主要介绍人机智能交互领域中可穿戴计算设备的多模态交互,阐述以人为中心的智能穿戴交互设计目标和原则,为可穿戴技术和智能穿戴交互技术的设计提供指导,进而简述支持智能穿戴交…...

React 基础入门笔记
一、JSX语法规则 1. 定义虚拟DOM时,不要写引号 2.标签中混入JS表达式时要用 {} (1).JS表达式与JS语句(代码)的区别 (2).使用案例 3.样式的类名指定不要用class,要用className 4.内…...
青少年编程与数学 01-011 系统软件简介 03 NetWare操作系统
青少年编程与数学 01-011 系统软件简介 03 NetWare操作系统 一、历史背景二、核心架构三、关键功能四、管理工具五、客户端支持六、版本演变七、衰落原因八、遗产与影响总结 摘要:NetWare 是早期网络操作系统的巅峰之作,其高性能文件服务、目录管理和容错…...
SAP 在 AI 与数据统一平台上的战略转向
在 2025 年 SAP Sapphire 大会上,SAP 展示了其最新的产品战略和技术整合方向,与以往不同的是,今年的讨论更加务实、聚焦客户实际需求。SAP 强调,ERP 的转型不再是“一刀切”或破坏性的,而是可以根据客户现状࿰…...