python笔记:datetime

news2024/9/29 21:18:04

处理日期和时间

1 常量

MINYEAR

datetime允许的最小年份

MAXYEAR

datetime允许的最大年份

2 数据类型

datetime.date带有属性year,month,day
datetime.time带有属性hour,minute,second,microsecond,tzinfo
datetime.datetime带有属性year,month,day,hour,minute,second,microsecond,tzinfo
datetime.timedelta两个date对象、两个time对象、两个datetime对象之间的时间间隔
datetime.tzinfo描述时区信息对象的抽象基类
datetime.timezone实现了datetime.tzinfo抽象基类的子类,用于表示相对于 世界标准时间(UTC)的偏移量

3 timedelta对象

两个date对象、两个time对象、两个datetime对象之间的时间间隔

class datetime.timedelta(days=0, 
                        seconds=0, 
                        microseconds=0, 
                        milliseconds=0, 
                        minutes=0, 
                        hours=0, 
                        weeks=0)

3.1 存储方式

只有 daysseconds 和 microseconds 会存储在内部。 其他的参数在存储时会进行如下的转换:

  • 1毫秒会转换成1000微秒。

  • 1分钟会转换成60秒。

  • 1小时会转换成3600秒。

  • 1星期会转换成7天。

from datetime import timedelta
delta=timedelta(
    days=50,
    seconds=27,
    microseconds=10,
    milliseconds=29000,
    minutes=5,
    hours=8,
    weeks=2)
delta
#datetime.timedelta(days=64, seconds=29156, microseconds=10)

4 date对象

代表一个理想化历法中的日期(年、月和日)

4.1 创建date对象

class datetime.date(year, month, day)

4.2 方法

today

fromordinal

公元1年1月1日的序号为1

fromisoformat

根据string获得对应的date对象

fromisocalendar

(yearweekday)

根据指定year,week,day,返回对应的date对象

返回2023年4月份的第一天(从周一开始)

【2023年的第一周是指第一个完整周(周一在2023年的一周)】

replace

date.replace(year=self.yearmonth=self.monthday=self.day)

将replace中对应的参数替换掉

timetuple

返回一个结构化的timetuple

年月日、小时分钟秒、这一周的第几天(从0开始),这一年的第几天(从1开始) 

toordinal

距离公元1年1月1日相隔多少天

weekday

isoweekday

weekday——返回一个整数代表星期几,星期一为0,星期天为6

isoweekday——返回一个整数代表星期几,星期一为1,星期天为7

isocalendar

返回一个由三部分组成的nametuple对象: yearweek 和 weekday(这个方法名带'iso',所以weekday其实是isoweekday,也就是周一为1)

strftime

strftime(string)——以string作为格式的datetime(string格式见后面) 

[string format time]

 4.3 运算

from datetime import timedelta

td=timedelta(days=10,weeks=2)

from datetime import date

d1=date(2023,4,1)
d2=date(2023,4,15)

d1+td,d1-td
#(datetime.date(2023, 4, 25), datetime.date(2023, 3, 8))

d1-d2,d1<d2
#(datetime.timedelta(days=-14), True)

5 datetime

5.1 创建datetime对象

class datetime.datetime(
    year, 
    month, 
    day, 
    hour=0, 
    minute=0, 
    second=0, 
    microsecond=0, 
    tzinfo=None, 
    *, 
    fold=0)

5.2 主要方法

today

当前时刻的datetime

now

now(tz=none)

 如果不设置tz参数的话,和today是一样的

utcnow

当前 UTC 时间的 date 和 time

fromordinal

距离公元1年1月1日相隔几天,后面的hour\minute\second等均为0

combine

datetime.combine(datetimetzinfo=self.tzinfo)

返回的内容是date和time的combine结果

fromisocalendar

datetime.fromisocalendar(yearweekday)

返回以year,week和day对应的datetime

date

time

datetime中的date部分和time部分

datetime.replace(year=self.year, month=self.month, day=self.day, hour=self.hour, minute=self.minute, second=self.second, microsecond=self.microsecond, tzinfo=self.tzinfo, *, fold=0)

replace

将指定部分替换

timetuple

utctimetuple

返回一个结构化的timetuple

年月日、小时分钟秒、这一周的第几天(从0开始),这一年的第几天(从1开始) 

utctimetuple——UTC标准时间的timetuple()

toordinal

weekday

isoweekday

isocalendar

 同date对应方法

isoformat

isoformat(sep='T'timespec='auto')

  • YYYY-MM-DD<sep>HH:MM:SS.ffffff,如果microsecond不为 0

  • YYYY-MM-DD<sep>HH:MM:SS,如果microsecond为 0

strftime

也是得到指定format的datetime string

5.3 运算

类似于date

 6 time对象

datetime对象除去date之后的部分

6.1 构建

datetime.time(
    hour=0, 
    minute=0, 
    second=0, 
    microsecond=0, 
    tzinfo=None, 
    *, 
    fold=0)

6.2 主要方法

replace

isoformat

time.isoformat(timespec='auto')

  • HH:MM:SS.ffffff,如果microsecond不为 0

  • HH:MM:SS,如果microsecond为 0

strftime

7 strftime 和 strptime涉及的format

7.1 strftime和strptime

strftimestrptime
用法根据给定的格式将对象转换为字符串将字符串解析为给定相应格式的datetime对象
方法类型实例方法(类的一个实例)类的方法
使用方式strftime(format)strptime(date_string, format)

7.2 主要format

%a

星期几的缩写

Sun, Mon, ..., Sat

%A

星期几的完整拼写

Sun, Mon, ..., Sat

%w

以十进制数显示的工作日,其中0表示星期日,6表示星期六

0, 1, ..., 6

%d

补零后,以十进制数显示的月份中的一天

01, 02, ..., 31

%b

月份的缩写

Jan, Feb, ..., Dec

%B

月份的全拼

January, February, ..., December

%m

补零后,以十进制数显示的月份

01, 02, ..., 12

%y

补零后,以十进制数表示的,不带世纪的年份。

00, 01, ..., 99

%Y

十进制数表示的带世纪的年份

0001, 0002, ..., 2013, 2014, ..., 9998, 9999

%H

以补零后的十进制数表示的小时(24 小时制)

00, 01, ..., 23

%I

以补零后的十进制数表示的小时(12 小时制)

01, 02, ..., 12

%p

本地化的 AM 或 PM 

AM, PM

%M

补零后,以十进制数显示的分钟

00, 01, ..., 59

%S

补零后,以十进制数显示的秒

00, 01, ..., 59

%Z时区名称
%j

以补零后的十进制数表示的一年中的日序号

001, 002, ..., 366

%U

以补零后的十进制数表示的一年中的周序号(星期日作为每周的第一天)。 在新的一年中第一个星期日之前的所有日子都被视为是在第 0 周。

00, 01, ..., 53

%W

以补零后的十进制数表示的一年中的周序号(星期一作为每周的第一天)。 在新的一年中第一个星期一之前的所有日子都被视为是在第 0 周

00, 01, ..., 53

%c

本地化的适当日期和时间表示

%x

本地化的适当日期表示

 

 

%X

本地化的适当时间表示

 

参考内容:datetime --- 基本日期和时间类型 — Python 3.11.3 文档

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/429400.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【网络安全】文件包含漏洞

文件包含漏洞文件包含漏洞原理文件包含漏洞经常出现的函数尝试查看etc/passwd敏感文件渗透过程上传phpinfo和webshell到服务器并使用工具连接其他方式包含日志文件getshell包含环境变量getshell文件包含漏洞原理 文件包含漏洞是指&#xff0c;程序开发人员一般会把重复使用的函…

【C语言学习4——整型数据类型】

C语言学习4——整型数据类型整型数据类型用sizeof关键词来测量大小三位二进制表示的数值范围数值的补码表示法各种整型类型的数值范围是多少无符号整型整型数据类型 在上一节当中&#xff0c;我们遇到了用int关键词&#xff08;整数integer的缩写&#xff09;来表示一个整数的…

Python Qt5 入门教程

Python Qt5 入门教程 Python Qt5是一个强大的GUI工具包&#xff0c;可以用来设计各种桌面应用程序&#xff0c;包括图形用户界面、数据库应用程序等。本教程将带你入门Python Qt5&#xff0c;从安装开始到图形界面的设计以及常见的控件和事件。 安装 Python Qt5需要使用PyQt5…

好用的便签APP排行榜前十名?

我是一名时间管理与自律达人&#xff0c;而便签应用程序就是必备与理想的时间管理工具。经过自己长期的总结认为好用的电脑手机云便签APP应用程序应该具备以下功能。 1、多设备同步&#xff1a;可以方便地将电脑和手机之间的数据同步&#xff0c;随时随地管理便签内容。 2、分…

海思部署分类模型

1、原始模型 onnx转caffe报错没有globalaverage层。 于是转化成&#xff1a; onnx转化caffe之后&#xff0c;修改prototxt文件&#xff0c;加上globalaverage和reshape层. 参考&#xff1a;https://blog.csdn.net/z649431508/article/details/113425275 layer { name: “Glob…

PPO算法-理论篇

1. Policy Gradient 【李宏毅深度强化学习笔记】1、策略梯度方法&#xff08;Policy Gradient&#xff09; 李宏毅深度强化学习-B站 2. PPO PPO 算法 PPO算法更新过程如下&#xff1a; 初始化policy参数θ0\theta^0θ0在每一步迭代中&#xff1a; 使用θk\theta^kθk与环境…

架构师:不想当架构师的程序员不是好程序员

引言 不想当将军的士兵不是好士兵。 很多程序员的梦想&#xff0c;就是将来能成为一名架构师。 包括我刚学编程那时候&#xff0c;也是以当架构师为目标&#xff0c;觉得不想当架构师的程序员不是好程序员&#xff0c;希望将来能成为一个优秀的架构师。就像拿破仑那句名言&am…

进程调度算法(操作系统)

1、 前置知识 1.1 非抢占式与抢占式 1.1.1 非抢占式 非抢占式指的是一个线程的在执行期间&#xff0c;另一个线程的到达&#xff0c;尽管各项标准都优于执行线程&#xff08;例如优先级高于当前执行线程&#xff09;&#xff0c;也不会抢占CPU资源&#xff0c;会耐心的等待该…

【matlab程序】海图坐标轴单位的唯一

【matlab程序】海图坐标轴单位的唯一 【matlab程序】海图坐标轴单位的唯一 本文写作来源&#xff0c;从实际出发&#xff0c;用于实际&#xff1a; 热带海洋学报&#xff0c;投稿须知&#xff1a; 其中一条关于海图制作规范中&#xff1a; 经度标识&#xff08;E, W&#…

真题详解(0/1背包)-软件设计(四十九)

真题详解(线性表)-软件设计&#xff08;四十八)https://blog.csdn.net/ke1ying/article/details/130119249 多态有四种类型&#xff1a; 参数多态&#xff1a;应用比较广泛的多态&#xff0c;称为最纯多态。 包含多态&#xff1a;最常见的就是子类型化。 过载多态&#xff1…

Nfinity: YouTube创作者如何通过SocialFi变现

Nfinity推出了一个具有革命性的SocialFi平台&#xff1a;该平台通过生成NFT来帮助YouTube创作者实现内容变现。 YouTube做为全球第一大视频内容平台&#xff0c;尽管通过付费会员和广告收入的分成&#xff0c;为创作者们提供了大量的盈利机会&#xff0c;但它也存在很多的局限性…

【MybatisPlus快速入门】—— 基础入门

入门篇 我们先简单回顾一下 Mybatis 的用法&#xff0c;再引出MybatisPlus 1.1 Mybatis 框架回顾 &#x1f314; 1、什么是Mybatis框架呢&#xff1f; 一个持久层框架&#xff0c;目的是简化持久层的开发我们就使用springboot整合Mybatis&#xff0c;实现Mybatis框架的搭建…

NBT - 生成式蛋白设计,AI带来的蛋白质工程飞跃

科学家们创建了一个能够从头合成人工酶的人工智能系统。实验测试发现&#xff0c;一些酶与自然界中发现的酶具有相同的功效&#xff0c;即使人工生成的氨基酸序列与任何已知的天然蛋白质明显不同。实验表明&#xff0c;尽管自然语言处理是为了阅读和编写语言文本而开发的&#…

蓝牙技术|安卓将支持超宽带语音,蓝牙通话更清晰

Android 的蓝牙通话即将迎来质的飞跃&#xff0c;超宽带语音技术将让你的声音更清晰、更真实。 Android 专家 Mishaal Rahman 发现&#xff0c;Android 开源项目仓库中最近添加了一个补丁&#xff0c;实现了与蓝牙免提配置文件 v1.9 相关的功能。据IT之家了解&#xff0c;这个…

【初识C++】(关键字,命名空间)

文章目录一、C中的关键字二、命名空间1.命名空间规则展开命名空间域 和 #include 的区别2.正确使用命名空间三、C中的输入和输出一、C中的关键字 二、命名空间 命名空间是对于全局变量来说&#xff0c;我们在定义变量或函数时&#xff0c;函数名可能会和库中的函数名产生冲突。…

window 和 linux 安装 Tesseract-OCR

一、 Window 安装 Tesseract-OCR 1.安装 tesseract-ocr-w64-setup-5.3.1.20230401.exe 下载地址&#xff1a;https://digi.bib.uni-mannheim.de/tesseract/ 2. 配置 PATH 环境变量 3. 配置TESSDATA_PREFIX 环境变量 4. 在 cmd 中查询是否安装成功 5. 在安装的目录 tessda…

算法刷题总结 (七) 双指针

算法总结7 双指针一、双指针的概念1.1、什么是双指针&#xff1f;1.2、常见类型1.2.1、快慢指针1.2.2、左右端点指针1.2.3、区间指针 - 滑动窗口汇总二、经典例题2.1、快慢指针&#xff08;1&#xff09;、链表判环141. 环形链表142. 环形链表 II287. 寻找重复数876. 链表的中间…

人工智能学习07--pytorch15(前接pytorch10)--目标检测:FPN结构详解

FPN&#xff1a;用于目标检测的特征金字塔网络 backbone:骨干网络&#xff0c;例如cnn的一系列。&#xff08;特征提取&#xff09; (a)特征图像金字塔 检测不同尺寸目标。 首先将图片缩放到不同尺度&#xff0c;针对每个尺度图片都一次通过算法进行预测。 但是这样一来&#…

第二章:HTML CSS 网页开发基础(一)

一、HTML HTML&#xff1a;是一种网页制作标注性语言。HTML通过浏览器的翻译将页面呈现给用户。 1、1 HTML文档结构 HTML文档由4个主要标记组成&#xff0c;<html>、<head>、<title>、<body> <html>标记 该标记是所有html文件的开头&a…

[STM32F103C8T6]DMA

DMA(Direct Memory Access&#xff0c;直接存储器访问) 提供在外设与内存、存储器和存储器、外设 与外设之间的高速数据传输使用。它允许不同速度的硬件装置来沟通&#xff0c;而不需要依赖于 CPU&#xff0c;在这个时间中&#xff0c;CPU对于内存的工作来说就无法使用。 我自己…