Bang!这个Python处理时间的库,我拆解了!

python在哪些方向相对来说更容易就业? 大家都知道Python很吃香,薪资高、就业面广,但具体的,有哪些方向、哪些最适合自己,可能就没有具体的了解了。 今天,我整理了Python的5大就业方向,希望大家能找到适合自己的,然后学习下去,完成人生的目标。 01、Web开发(Python后端) Python有很多优秀的Web开发框架,如Flask、Django、Bootstar 等,可以帮助你快速搭建一个网站。当需要一个新功能时,用Python只需添加几行代码即可,这受到了很多初创型公司的一致欢迎。 像知乎、豆瓣、小米这样的大厂,最早的网站都是 阅读详情

Python里面处理时间库的有很多,其中大家经常用的有datetime。但是对于懒人来说还是很不爽,有么有更简单的,可以把我们的需求比如的白话文本转为字符串的时间库呢,今天小编在GitHub找到了这个好玩的库,一起来看一下。

这个库的目标就是通过简单的字符串就可以操作datatime,算是在datatime上面再次做了一层封装,有点意思啊,我们一起来一探究竟。

安装一下:

pytime的安装很简单,直接用pip3 install pytime即可。

如何使用:

1).简单的获取当前的月,周,日的时间,以及上周,上月的时间

看一下输出的结果:

today:2020-08-16

this week:(datetime.date(2020, 8, 10), datetime.date(2020, 8, 17))

last week:(datetime.date(2020, 8, 3), datetime.date(2020, 8, 11))

this_month:(datetime.date(2020, 8, 1), datetime.date(2020, 9, 1))

日期的范围其实就是一个tuple类型的datatime起始-结束的日期范围。

2).直接输出节日日期

比如常见的圣诞节,情人节啊,新年,母亲节,父亲节之类的节日

拆解源码

看起来是作者做了一层固定节日的封装,我们来看一下源码,一探究竟,看看源码里面都封装了那些节日:

源码里面可以清晰的看到作者是如何构造的这个节日,其实就是进行了一些简单的运算,但是代码写的还是非常工整的。

3).识别文本字符串-得到日期

这个动态的识别文本,然后计算时间,应该是这个库最吸引人的地方,毕竟上面的日期,节假日其中你自己也可以封装的。但是识别文本就有点意思了:

上面两个函数,分别计算某一个日期前多少多少天,和某一个日期的后多少多少天,能自动的识别这一段字符串比如

2years 3mon 23week 3d 2hr

或者是没有空格连在一起写也可以

2years3mon23week3d2hr

拆解源码:

非常给力,小编也非常好奇它是怎么做到的,于是我扒开了这段源码看了一些:

原来before这个函数的接口有两个参数,一个就是base,一个是diff,base把时间字符串转为datetime类型,然后diff会用一个dp(diff)进行封装,然后解析这个一长串的字符串,顺藤摸瓜,我们一起来看一下这dp(diff)干了啥事情:

dp = BaseParser.parse_diff

dp其实是一个BaseParse这个解析器的一个接口函数,也就是说所以的字符串的解析都在这个parse_diff里面:

果然这个函数里面就是专门来处理我们输入的"2years 3mon 23week 3d 2hr",作者做了很多封装的处理,就是为了我们使用的时候更智能一些。

通过一层一层的拆解,你会发现整个作者在设计这个库的思路和一些技巧点,这样的过程经常练习,对你提高Python功力大有裨益,有兴趣的小伙伴也可以试试这个库,代码动起来。

end

近期八大热门:

每个程序员都是从菜鸟开始成长起来的,没有人一开始就是程序员高手。菜鸟爱编程,专注于分享趣味的编程技巧,不限于Java, Python ,Go, Javascript等语言,让菜鸟爱上编程,进阶成为高手。

菜鸟编程大本营

长按2秒,获取Python必读书单输入:【书单】
点这里,进菜鸟学PythonB站大本营
Python全局键盘监听与热键绑定实战:用keyboard库实现自动化 键盘事件监听是自动化脚本与效率工具开发中的基础技术,它通过捕获系统级按键信号,使程序能够响应用户的键盘操作。其核心原理是利用操作系统提供的钩子(Hook)机制,在驱动层或应用层拦截键盘输入流,从而实现后台静默监听。这项技术的工程价值在于打通了人机交互的关键通道,将被动执行的程序转变为能主动感知用户意图的智能助手,极大提升了操作效率与自动化水平。在应用场景上,它广泛用于自动化办公、游戏辅助、快速启动、文本扩展以及自定义工作流触发等领域。本文聚焦于Python生态,深入探讨如何利用轻量且强大的keyboard库 阅读详情

相关推荐

时钟数据恢复(CDR)原理、架构与工程实践全解析

在高速串行通信系统中,时钟与数据的同步是确保信息可靠传输的基石。其核心原理在于接收端需要从嵌入噪声的数据流中,精确重建出发送端的时钟信号,以实现频率跟踪与相位对齐,从而在最佳采样点获取数据。这项技术的核心价值在于它是PCIe、SATA、以太网等现代高速接口不可或缺的底层支撑,直接决定了链路的带宽与稳定性。典型的实现架构包括基于锁相环的模拟方案和基于过采样与数字信号处理的方案,前者依赖相位检测器、环路滤波器和压控振荡器的精密配合,而后者则更侧重于数字算法与可配置性。无论是哪种方案,设计时都需在抖动容忍度、锁定

weixin_33721344的博客 319

【Python+Flask+Echarts 】可视化样题 --- 绘制各年份被淘汰的公司总数对比图形

Python+Flask+Echarts可视化 数据可视化的实现可以通过许多的方法,比如熟知的python就可以利用内置matplotlib库进行图形绘制,今天就来介绍一种Python+Flask+Echarts的联合方式进行数据可视化,下面是部分数据及截图,将会按照具体需求进行案例说明。 Flask工程基本结构 资源包主要指的就是要利用到的外部资源 基本步骤: 利用python的pandas读取数据集 按照题目要求提取有效数据,整合为新的数据集 将处理好的数据集转为List 创建Flask应

懂得一千零一种,赋予你失败的方法! 2763

BM1684X边缘部署Qwen3智能体:量化模型+MCP协议+SQLite全栈实践

边缘AI推理是指在靠近数据源头的终端设备上执行模型计算,其核心在于低延迟、低功耗与数据本地化。技术原理依赖硬件加速(如专用NPU)、模型轻量化(INT4量化、KV Cache优化)及高效系统集成(自定义通信协议、嵌入式数据库)。该方案的技术价值在于突破云端依赖,实现200ms级端到端响应、15W超低功耗与完全离线运行能力。典型应用场景包括工业现场RAG问答、私有化Agent工具调用、嵌入式设备自主决策等。本文聚焦寒武纪BM1684X平台,详解Qwen3-4B-int4模型部署、MCP协议实现与SQLite深

chutisun0039的博客 357

Python最吃香的5个就业方向,薪资收入也非常可观!

今天跟大家聊聊Python的几个主要发展和就业方向,给准备学习Python的小伙伴解惑。 发展前景一:Linux运维 Linux运维是必须而且一定要掌握Python语言,Python是一门非常NB的编程语言,它可以满足Linux运维工程师的工作需求提升效率,从而提升自己的能力,运维工程师需要自己独立开发一个完整的自动化系统时,这个时候才是真正价值的体现,才能证明自身的能力,让老板重视。 发展前景二:Python Web网站工程师 我们都知道Web一直都是不可忽视的存在,我们离不开网络,离不开Web,利..

测试萌萌 2万+

Python 3 迁移:从技术债务到工程效能的生存升级

Python 3 不仅是语言版本迭代,更是现代软件工程的基础契约重构。其核心在于统一字符串模型(str/bytes 严格分离)、修复数学语义(真除法、类型安全比较)、原生支持异步编程(asyncio)等底层设计演进,从根本上提升代码可预测性、可维护性与安全性。这些改进直接支撑数据科学、高并发服务、静态类型检查(mypy)、CI/CD 自动化等主流开发实践。对于仍在运行 Python 2 的系统,已面临 CVE 漏洞零修复、PyPI 新包不可用、主流框架弃用等现实风险,迁移已非‘最佳实践’选项,而是保障系统持

dfu65065的博客 349

DuckDuckGo API实战指南:免费隐私搜索集成与Python实现

在构建需要信息检索功能的应用时,API集成是提升开发效率的关键技术。通过调用外部服务接口,开发者可以快速获取网页搜索、即时答案等核心功能,而无需从零构建复杂的爬虫与索引系统。这种技术方案的价值在于能够显著降低开发成本,同时确保信息的时效性与准确性,适用于个人项目、研究原型及小型工具的开发场景。DuckDuckGo API以其隐私保护承诺和免费无密钥的特点,为开发者提供了一个轻量级且易于集成的搜索解决方案。本文将以Python为例,详细解析如何通过HTTP请求调用该API,并实现包括错误处理、缓存策略在内的健

weixin_30627341的博客 387

Python日期和时间库datetime

Python内置模块datetime用于处理日期和时间。支持日期时间数学运算,着重于有效地解析其属性用于格式化输出和数据操作。

XerCis的博客 1240

三相PMSM滞环电流跟踪仿真模型(含波形自动绘图脚本)

一套开箱即用的三相永磁同步电机(PMSM)滞环电流控制Simulink仿真工程,直接运行PMSM_HysteresisControl.slx即可观察电流实时跟踪效果。控制结构采用外环转速PI调节器+内环Bang-Bang式滞环比较器,通过动态切换逆变器开关状态,让实际A/B/C相电流在设定带宽内锯齿状跟随给定参考波形,体现典型滞环控制响应特性。模型内置SVPWM触发逻辑与电机本体模块,所有关键信号(如Iabc、Nr、Te)均导出供后处理。配套提供waveform_plot.m(MATLAB)和wavefor

z2a3b4c5d的博客 199

【vue3】vue3源码探索之旅:compiler-core(一)

compiler-core包是vue3源码代码编译的核心代码包,且与平台无关,这个包**主要功能是将代码解析成ast、然后转换成codegenNode对象、再编译生成可执行代码(render渲染函数)**

qq_2511276124的博客 1866

MATLAB/Simulink电梯逻辑仿真包:含主控脚本、动画演示与可调参数的完整运行模型

这个资源提供一套开箱即用的电梯运行逻辑仿真方案,基于MATLAB和Simulink实现,包含楼层呼叫识别、轿厢升降控制、开关门时序、实时状态显示等核心功能。主程序dianti.m直接运行即可启动仿真,不依赖额外工具箱,适配主流MATLAB版本。配套dianti_animation.png展示典型运行效果,dianti.py为辅助脚本(需Python环境),requirements.txt列出依赖项。模型采用模块化设计,信号流清晰,支持快速修改加减速时间、停靠时长、响应优先级等参数,直观观察不同调度策略对运行

tequila的博客 178

Python(Request和beautifulsoup)的爬虫程序(破产网)

利用python完成的爬虫示例,使用了request获取网页信息并利用beautifulsoup解析html,利用pandas清洗数据后把破产案件信息整理为csv文件保存。 -支持手动输入案件的时间和要爬取的页码数。 -Selenium版本还在修改

量子近似优化算法(QAOA)的工程化改进:Bang-bang控制策略解析与实践

组合优化问题是计算机科学和运筹学中的核心挑战之一,旨在从海量可能性中寻找满足约束条件的最优解,其经典求解方法如模拟退火、遗传算法等,在面对大规模问题时常面临计算复杂度指数增长的瓶颈。量子计算为解决此类问题提供了新的理论路径,其核心原理在于利用量子叠加和纠缠特性,并行探索解空间,有望实现指数级加速。量子近似优化算法(QAOA)作为连接组合优化与含噪声中等规模量子(NISQ)硬件的关键技术,通过交替演化问题与混合哈密顿量来寻找近似最优解,其技术价值在于为物流调度、芯片设计等实际优化问题提供了潜在的量子加速方案。

congsikuai0611的博客 446

Company Bankruptcy Prediction(公司破产的预测)-数据集

Bankruptcy data from the Taiwan Economic Journal for the years 1999–2009. 《台湾经济月刊》1999-2009年破产数据。 data.csv

机器人时间最优轨迹生成:相平面算法解析与Python 7步实现

本文深入解析了机器人时间最优轨迹生成的相平面算法,结合《现代机器人学》理论,通过Python 7步实现从路径规划到时间标度的完整流程。详细介绍了动力学约束、相平面分析及Bang-Bang控制原理,帮助开发者在工业机器人高速作业场景中实现高效轨迹优化,提升机械臂运动效率。

weixin_32487557的博客 257

Base.Parse.LoginNotRequired:一个基本的 android 应用程序,带有挂钩解析推送消息和解析用户使用情况而无需登录

Base.Parse.LoginNotRequired 一个基本的 android 应用程序,带有挂钩解析推送消息和解析用户使用情况而无需登录

Python日期解析库dateparser.zip

dateparser 是一个 Python 开发包,用来解析各种日期数据。 标签:dateparser

美赛A题最优功率分配建模:动态规划与非线性规划求解未来骑行优化问题

最优控制与资源分配是工程优化领域的核心问题,其原理在于如何在给定的约束条件下,通过动态决策实现目标函数的最优化。这类技术在自动驾驶、无人机航迹规划、能源管理等场景中具有极高的技术价值。本文聚焦于一个典型的多阶段动态优化问题——在总能量约束下,通过规划动力输出来最小化行程时间。针对这一挑战,文章深入探讨了两种主流求解策略:一是将其离散化为非线性规划问题,利用序列二次规划等算法进行高效求解;二是运用动态规划方法,通过逆向递推在离散状态空间中寻找全局最优解。这两种方法为解决资源约束下的序列决策问题提供了清晰的工程

weixin_30596343的博客 393

LLM - windows下的Dify离线部署:从镜像打包到无网环境部署(亲测,包含插件部署)

LLM - windows下的Dify离线部署:从镜像打包到无网环境部署(亲测,包含插件部署)

ocean00008899的博客 1289

AI动画制作全流程拆解:从Stable Diffusion到AnimateDiff实战《西游记》

AIGC(人工智能生成内容)正深刻改变内容创作范式,其核心原理在于利用深度学习模型理解并生成多模态数据。在技术价值层面,它显著降低了专业内容生产的门槛与成本,使个人创作者也能实现高质量视觉内容产出。具体到应用场景,结合Stable Diffusion进行角色一致性图像生成,并利用AnimateDiff等工具实现图生视频,已成为制作同人动画、短视频的高效方案。本文以《西游记》AI动画制作为例,详细拆解了从角色设计、动作序列生成到音画合成的完整技术链路,为构建自动化AIGC工作流提供了可落地的实践参考。

congjukun0600的博客 397

给大一新生的蓝桥杯EDA备赛规划:从电路分析到立创EDA,如何用一年时间高效备赛?

本文为大一新生提供了一份系统的蓝桥杯EDA备赛规划,从电路分析基础到立创EDA实战操作,分阶段指导如何高效备赛。内容涵盖理论学习、软件操作、PCB设计专项提升及冲刺优化策略,帮助学生在一年内全面提升电子设计能力,为竞赛做好充分准备。

weixin_31476015的博客 290

RimWorld Mod开发避坑指南:从Defs命名规范到XML结构详解(附实战代码)

本文深入解析RimWorld Mod开发中Defs文件的编写规范与高级技巧,涵盖命名冲突预防、XML结构优化及高级功能实现。通过实战代码示例,帮助开发者避开常见陷阱,提升Mod兼容性与稳定性,特别适合RimWorld Mod开发者参考。

weixin_30790841的博客 451
上一篇: 刷完 LeetCode 是什么水平?能拿到什么水平的 offer?
下一篇: VS Code Python 插件 8月更新!支持多个 Python 交互式窗口,支持 Pylance
菜鸟学Python
博客等级 码龄9年 8081粉丝 571原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值