Python启航:30天编程速成之旅(第17天)- 标准库(三)
off999 2024-11-09 12:56 104 浏览 0 评论
喜欢的条友记得关注、点赞、转发、收藏,你们的支持就是我最大的动力源泉。
前期基础教程:
「Python3.11.0」手把手教你安装最新版Python运行环境
讲讲Python环境使用Pip命令快速下载各类库的方法
Python启航:30天编程速成之旅(第2天)-IDE安装
【Python教程】JupyterLab 开发环境安装
Python启航:30天编程速成之旅(第17天)- 标准库(三)
datetime 是Python常用的标准库之一,提供了用于操作日期和时间的类,虽然支持日期和时间算术,但实现的重点是用于输出格式化和操作的高效属性提取。
datetime.MINYEAR 对象中允许的最小年份数,MINYEAR 为 1。
datetime.MAXYEAR 对象中允许的最大年份数,MAXYEAR 是 9999。
datetime.UTC datetime 时区单例 datetime.timezone.utc 的别名。
import datetime
print("datetime.MINYEAR:", datetime.MINYEAR)
print("datetime.MAXYEAR:", datetime.MAXYEAR)
print("datetime.UTC:", datetime.UTC)timedelta 对象表示持续时间,即两个datetime 或 date 实例之间的差值。
class datetime.timedelta(days=0, seconds=0, microseconds=0, milliseconds=0, minutes=0, hours=0, weeks=0)类 datetime.timedelta(days=0, seconds=0, microseconds=0, milliseconds=0, minutes=0, hours=0, weeks=0)
所有参数都是可选的,默认为 0。参数可以是整数或浮点数,可以是正数或负数。
内部仅存储天数、秒数和微秒数。参数将转换为以下单位:
- 一毫秒转换为 1000 微秒。
- 一分钟转换为 60 秒。
- 一小时转换为 3600 秒。
- 一周转换为 7 天。
然后对 days、seconds 和 microseconds 进行归一化,以便 therepresentation 是唯一的,其中
- 0 <= microseconds < 1000000
- 0 <= seconds < 3600*24 (the number of seconds in one day)0 <= seconds < 3600*24(一天中的秒数)
- -999999999 <= days <= 999999999
以下示例说明了除days、seconds 和 microseconds 之外的任何参数如何被“合并”并规范化为这三个结果属性:
from datetime import timedelta
delta = timedelta(
days=1,
seconds=32,
microseconds=8,
milliseconds=32000,
minutes=10,
hours=18,
weeks=3
)
delta如果任何参数是浮点数,并且存在小数微秒,则所有参数剩余的小数微秒将合并,并且它们的总和使用四舍五入到最接近的微秒。如果没有参数是 float,则转换和规范化过程是精确的(不会丢失任何信息)。
如果 days 的规范化值超出指示范围,则会引发 OverflowError。
请注意,负值的规范化一开始可能会令人惊讶。例如:
from datetime import timedelta
d = timedelta(microseconds=-5)
(d.days, d.seconds, d.microseconds)类属性:
timedelta.min 最小的 timedelta 对象 timedelta(-999999999)
timedelta.max 最大的 timedelta 对象 timedelta(days=999999999,hours=23, minutes=59, seconds=59, microseconds=999999)
timedelta.resolution 非相等 timedelta 对象之间可能的最小差值 timedelta(microseconds=1)
请注意,由于规范化,timedelta.max大于 -timedelta.min。-timedelta.max 不能表示为 timedelta 对象。
实例属性 (只读):
timedelta.days 介于 -999,999,999 和 999,999,999 之间(含)。
timedelta.seconds 介于 0 和 86,399 之间(含 0 和 86,399)。
当代码实际上打算获取 total_seconds() 值时,无意中使用此属性是一个比较常见的错误:
>>>
from datetime import timedelta
duration = timedelta(seconds=24151527)
print("duration.days:", duration.days)
print("duration.seconds:", duration.seconds)
print("duration.total_seconds():", duration.total_seconds())timedelta.microseconds 介于 0 和 999,999 之间(含 0 和 999,999)。
timedelta.total_seconds() 返回持续时间中包含的总秒数。相当于td / timedelta(seconds=1)对于秒以外的间隔单位,请直接使用除法形式(例如 td / timedelta(microseconds=1))。
请注意,对于非常大的时间间隔(在大多数平台上大于 270 年),此方法将失去微秒级精度。
用法示例:timedelta
from datetime import timedelta
year = timedelta(days=365)
another_year = timedelta(weeks=40, days=84, hours=23,
minutes=50, seconds=600)
print("year == another_year:", year == another_year)
print("year:", year)
print("another_year:", another_year)
print("year.total_seconds():", year.total_seconds())timedelta 算术示例:
from datetime import timedelta
year = timedelta(days=365)
ten_years = 10 * year
print("ten_years:", ten_years)
print("ten_years.days:", ten_years.days)
nine_years = ten_years - year
print("nine_years:", nine_years)
three_years = nine_years // 3
print("three_years:", three_years)
print("three_years.days:", three_years.days)date.today():返回当前本地日期。
date.fromtimestamp(timestamp):返回 POSIX 时间戳对应的本地日期,例如 time.time() 返回的 is。如果时间戳超出平台 C localtime() 函数支持的值范围,这可能会引发 OverflowError,并在 localtime() 失败时引发 OSError。这通常仅限于 1970 年至 2038 年。请注意,在时间戳的概念中包含闰秒的非 POSIX 系统上,fromtimestamp() 会忽略闰秒。
date.fromordinal(ordinal):返回与公历格里高利序数对应的日期,其中 1 年的 January 1 具有序数 1。
date.fromisoformat(date_string):
返回与以任何 validISO 8601 格式给出的date_string对应的date,但以下情况除外:
- 当前不支持降低精度的日期 (YYYY-MMYYYY
- 当前不支持扩展日期表示 (±YYYYYY-MM-DD)。
- 目前不支持序数日期 (YYYY-OOO)。
例子:
from datetime import date
print(date.fromisoformat('2024-11-05'))
print(date.fromisoformat('20241105'))
print(date.fromisoformat('2024-W01-1'))date.fromisocalendar(year, week, day):返回与年、周和日指定的 ISO 日历日期对应的date。这是函数 date.isocalendar() 的逆函数。
date.min 最小的可表示日期 date(MINYEAR, 1, 1)
date.max 最大的可表示日期 date(MAXYEAR, 12, 31)
date.resolution 非相等日期对象之间可能的最小差值 timedelta(days=1)
实例属性 (只读):
date.year 介于 MINYEAR 和 MAXYEAR 之间(包括 MINYEAR 和 MAXYEAR)。
date.month 介于 1 和 12 之间(含 1 和 12 之间)。
date.day 介于 1 和给定年份的给定月份的天数之间。
用法示例:date
计算事件天数的示例:
import time
from datetime import date
print("使用date.today()直接获取当前日期")
today = date.today()
print("today:", today)
print("用date.fromtimestamp()获取当前日期")
today == date.fromtimestamp(time.time())
print("today:", today)
my_birthday = date(today.year, 11, 4)
if my_birthday < today:
my_birthday = my_birthday.replace(year=today.year + 1)
time_to_birthday = abs(my_birthday - today)
print("\n距离下一次生日还有", time_to_birthday.days, "天。")datetime 库非常实用,功能众多,大家可以在使用过程中查看官网帮助。
datetime — Basic date and time types Python 3.13.0 documentation
喜欢的条友记得关注、点赞、转发、收藏,你们的支持就是我最大的动力源泉。
相关推荐
- 中国联通宽带办理(联通宽带办理)
-
1、首先,请大家打开中国联通官方网站,然后登陆属于自己的账号,可以使用手机号码登录也可以自己注册一个账号登录。2、登陆账号成功以后,点击网页中的“宽带受理”栏目,然后点击进入宽带受理栏目进行在线预约安...
- 吾爱破解网(吾爱破解网传奇辅助)
-
你说的这个论坛。我虽然没有注册过,但是我告诉你一般情况下,各大论坛在五一,十一,春节期间会发放邀请码~~~另外,你学习破解也不一定非要到这个破解论坛,很多的黑客论坛有破解板块。这个论坛,本来就是不好...
- 小游戏网页版秒玩(网页版游戏推荐)
-
云游戏可以玩电脑游戏。云电脑(Cloudcomputer)是一种智能终端产品,包括云端资源、传输协议和云终端等,并具有集中管控与维护、应用访问、整体资源调度、弹性资源扩展、数据安全等特色特点。云电脑...
- qq管家官方下载官网(qq管家官方网站)
-
腾讯电脑管家(TencentPCManager/原名QQ电脑管家)是腾讯公司推出的免费安全软件。拥有云查杀木马,系统加速,漏洞修复,实时防护,网速保护,电脑诊所,健康小助手,桌面整理,文档保护等功...
- photoshop最新软件版本(ps最新版本是)
-
你好,AdobePhotoshop的最新版本是PhotoshopCC2020。新版本的Photoshop具有更多的功能和改进,包括云同步,自动对象选择,增强的画笔和填充工具等。此外,新的Phot...
-
- 扫图识别图片在线(扫图识别app下载)
-
1、首先打开手机相册,然后选择你需要识别的图片;2、长按图片,在应用选择中选择“提取文字”;3、对于通过扫一扫识别图片后所得到的文字内容,我们可以进行分享或保存到便签中进行修改编辑,还可以转换到其它文档中进行处理。拓展资料:二维码是近年来在...
-
2026-01-17 16:03 off999
- 活跃气氛的10个小游戏(活跃气氛的10个小游戏简单)
-
我推荐手指儿歌律动小游戏,因为手指儿歌的话,会活动小朋友们的手指,手指活动完之后,我们就可以进行下一步的一些事情1、大合唱:准备一些歌曲,大家将歌词印在白板上,每人叫出句子,所有人一起唱歌,激发出非常...
- 全能播放器(EV 全能播放器)
-
在选择全能播放器时,可以考虑以下几个因素:格式支持、功能丰富、界面友好、播放流畅、兼容性强。目前市面上有许多优秀的全能播放器可供选择,如VLC媒体播放器、PotPlayer、KMPlayer等。它们都...
- 和平精英免费挂 锁头 透视(和平精英挂透视,锁头,自瞄)
-
apm的意思有很多种。apm在游戏中是指每分钟操作次数,也叫手速;APM也可以是AutomatedPeopleMoverSystem的缩写,意思是旅客自动捷运系统;APM还可能是Advanced...
- 爱思助手app下载安装(爱思助手下载 安装安卓)
-
不能在手机端直接下载,需要先下载PC端。安装步骤如下:第1步,安装爱思助手PC端用电脑访问爱思助手官网在产品中心下载并安装“爱思助手PC端V7版”第2步,安装爱思助手移动端打开爱思助手PC端用数据线连...
- 手机电视直播在线直播(免费观看电视在线高清直播)
-
1、准备一个U盘,在电脑上下载电视直播软件的安装包(apk格式的,如泰捷视频、电视猫、电视家等软件),复制并存储到U盘的根目录下;2、将U盘插入电视机的USB接口;3、启动电视机,进入智能电视主界面;...
- 万能密码破解器(万能破解wifi密码神器下载)
-
不真实因为万能歪歪密码器声称可以破解任意密码,但实际情况下,密码破解需要依靠强大的计算力和算法,而万能歪歪密码器只是一个简单的软件,无法实现这种高难度的破解。同时,使用万能歪歪密码器还会存在一定的安全...
- firefox国际版
-
中国版:原生集成了如鼠标手势,支付助手等国内用户常用功能的浏览器扩展;提供了与国内网址导航类似的"火狐导航"作为默认主页;设置项与国际版略有不同;除国际通行的mozilla账户外,也可使用...
欢迎 你 发表评论:
- 一周热门
-
-
抖音上好看的小姐姐,Python给你都下载了
-
全网最简单易懂!495页Python漫画教程,高清PDF版免费下载
-
飞牛NAS部署TVGate Docker项目,实现内网一键转发、代理、jx
-
Python 3.14 的 UUIDv6/v7/v8 上新,别再用 uuid4 () 啦!
-
python入门到脱坑 输入与输出—str()函数
-
Python三目运算基础与进阶_python三目运算符判断三个变量
-
(新版)Python 分布式爬虫与 JS 逆向进阶实战吾爱分享
-
失业程序员复习python笔记——条件与循环
-
系统u盘安装(win11系统u盘安装)
-
Python 批量卸载关联包 pip-autoremove
-
- 最近发表
- 标签列表
-
- python计时 (73)
- python安装路径 (56)
- python类型转换 (93)
- python进度条 (67)
- python吧 (67)
- python的for循环 (65)
- python格式化字符串 (61)
- python静态方法 (57)
- python列表切片 (59)
- python面向对象编程 (60)
- python 代码加密 (65)
- python串口编程 (77)
- python封装 (57)
- python写入txt (66)
- python读取文件夹下所有文件 (59)
- python操作mysql数据库 (66)
- python获取列表的长度 (64)
- python接口 (63)
- python调用函数 (57)
- python多态 (60)
- python匿名函数 (59)
- python打印九九乘法表 (65)
- python赋值 (62)
- python异常 (69)
- python元祖 (57)
