安全无事故连续天数计算,python 时间工具的高效利用
安全天数计算,数据系统时间直取,安全标准高效便捷好用。
笔记模板由python脚本于2025-03-17 23:50:52创建,本篇笔记适合对python时间工具有研究欲的coder翻阅。
博客的核心价值:在于输出思考与经验,而不仅仅是知识的简单复述。
-
Python官网:
这里,才 python 前沿。英文原版,原汁原味,才是寻根溯源的正统。😎
地址:https://www.python.org/ -
Free:
大咖免费“圣级”秘笈《 python 完全自学教程》不仅仅是基础那么简单……
地址:https://lqpybook.readthedocs.io/
自学并不是什么神秘的东西,一个人一辈子自学的时间,总是比在学校学习的时间长;没有老师的时候总是比有老师的时候多。
—— 华罗庚
-
您,可以在评论区书写任何想法 -
(我将在看到的第一时间回应) -
(预置空地)
本文质量分:
本文地址: https://blog.csdn.net/m0_57158496/article/details/146329331
CSDN质量分查询入口:http://www.csdn.net/qc
目 录
- ◆ 安全天数计算
- 1、代码先睹
- 2、算法解析
- 2.1 Title
- 3、完整源码(Python)
◆ 安全天数计算
1、代码先睹
代码效果截屏图片

完整代码
#/usr/bin/env python3
from datetime import datetime, timedelta
import calendar'''filename: yday.py功能函数小练习:指定月份公历月历打印、
自定义九位时间数组(year, month, day, hour, minute, second, week, wday, yday)、
连续安全日计算(上次安全事故到指定日期天数)'''# Base Var #
blue = '\033[34m'
lightgreen = '\033[32;1m'
gray = '\033[37;2m'
resetcolor = '\033[0m'def get_monthcalendar_line(date: tuple, width: int = 33 ) -> str:''' 月历文本行数据获取:(直接获取月历文本数据)date: (year: int, 999 < y < 10**4month: int 1-12)width: 月历打印宽度'''text = calendar.TextCalendar().formatmonth(*date).split('\n')[2:-1] # 取月历文本行text[-1] = text[-1] + ' ' * (20 - len(text[-1]))return '\n'.join([f"{line:^{width}}" for line in text]) # 这种单独处理最后一周的方式更pythonic,保留先前的实现,留置“警醒”:代码没有最好只有更好!😎blank = ''return '\n'.join([f"{line:^{width}}" if len(line) == 20 else f"{f'{line}{blank:>{20 - len(line)}}':^{width}}" for line in text]) # 这行代码永不执行,留下它作个见证——“还有一种对齐方式”def get_safedays(safestart: list | tuple = None, date: list | tuple = None) -> int:''' 计算年内连续安全无事故天数 '''date = datetime(*date) if date else datetime.today()safestart = datetime(*safestart) + timedelta(days=1) if safestart else datetime(date.year, 1, 1)days = (date - (safestart)).days # 计算日期区间不含当天,本就是两个日期差值;不同于datetime.today().tupletime().tm_yday,含当前日期天数;由于安全日计算是基于上次安全事故日,次日起才是安全日,在此减一修正操作相对简单(逻辑依旧清晰),但直接处理safestart才是最最明晰的逻辑,所以又改了。if days < 0:raise ValueError(f"{f' 日期设置错误 ':-^{width - 6}}")return daysdef strfcalendar(data: list | tuple, width: int = 42) -> str:'''日历牌模板:默认格式宽度42半角字符data =year, month, day, hour, minute, second, yweek, wday, yday(自定义九位时间数组序列,可列表可元组)'''title = f"\n{blue}\n{' 日历牌 ':=^{width - 3}}\n{resetcolor}\n"strfdate = f"{lightgreen}{' {}年{:02d}月{:02d}日 '.format(*data[:3]):-^{width - 3}}{resetcolor}"timeinfo = ':'.join([f"{time:02d}" for time in data[3:6]]) # 时分秒格式化strftime = f"{gray}{f' 现在 {timeinfo} ':-^{width - 2}}{resetcolor}"weekinfo = f" 第{data[-3]:02d}周 星期{'一二三四五六日'[data[-2] ]} "strfweek = f"{lightgreen}{weekinfo:-^{width - 5}}{resetcolor}"strfyday = f"{gray}{f' 当年第{data[-1]}天 ':-^{width - 4}}{resetcolor}"end = f"\n{blue}\n{'':=^{width}}{resetcolor}"return '\n\n'.join((title, strfdate, strftime, strfweek, strfyday, end)) # str.join组合日历牌格式文本返回def get_calendar_data() -> list:''' 获取当前日期数据:直接内库获取九位时间数组,time.localtime | datetime.datetime双剑合璧 '''date = list(datetime.now().timetuple()[:8]) # 取8位时间数组date.insert(-2, datetime.now().isocalendar().week) # 插入yweek,一年中的当前iso国际标准周数return date # 返回自定义九位时间数组if __name__ == '__main__':today = datetime.today()date = today.year, today.monthwidth = 42# 两个途径获取格式化月历文本,效果相同 #text = get_monthcalendar_line(date, width)print(f"\n\n{f' {date[0]}年{date[-1]:02d}月 ':=^{width - 2}}"f"\n\n{' '.join('一二三四五六日'):^{width - 7}}"f"\n{text}"f"\n\n{'':=^{width}}")print(strfcalendar(get_calendar_data())) safestart = 2025, 3, 14 # 最后一次安全事故#safestart = () # 最后一次安全事故(可以为空)try:print(f"\n\n{' 部门安全告示牌 ':*^{width - 7}}"f"\n\n{lightgreen}\n{f' 已安全无事故{get_safedays(safestart):03d}天 ':^{width - 7}}{resetcolor}"f"\n\n\n{'':*^{42}}") except ValueError as e:print(f"\n\n触发错误:\n\n{e}")except Exception as e:print(f"\n\n其它错误:\n\n{e}")
2、算法解析
解析
2.1 Title
代码解析
代码运行效果截屏图片
Python代码
3、完整源码(Python)
上一篇:
Python的字符串优雅优化策略:特定编码 -> Unicode码点 -> UTF-8(可自定义)(Python利用唯一uni-pot中介打理,任意制式输出(首选uyf-8))
我的HOT博:
本次共计收集441篇博文笔记信息,总阅读量68.56w。数据采集于2025年01月25日 22:57:22,用时9分29.3秒。阅读量不小于6.00k的有 10 10 10篇。
- 让QQ群昵称色变的神奇代码
地址:https://blog.csdn.net/m0_57158496/article/details/122566500
浏览阅读:62,785
点赞:25 收藏:89 评论:17
(本篇笔记于2022-01-18 19:15:08首次发布,最后修改于2022-01-20 07:56:47)
- Python列表(list)反序(降序)的7种实现方式
地址:https://blog.csdn.net/m0_57158496/article/details/128271700
浏览阅读:14,096
点赞:9 收藏:40 评论:8
(本篇笔记于2022-12-11 23:54:15首次发布,最后修改于2023-03-20 18:13:55)
- 个人信息提取(字符串)
地址:https://blog.csdn.net/m0_57158496/article/details/124244618
浏览阅读:10,412
点赞:3 收藏:21
(本篇笔记于2022-04-18 11:07:12首次发布,最后修改于2022-04-20 13:17:54)
- pandas 数据类型之 DataFrame
地址:https://blog.csdn.net/m0_57158496/article/details/124525814
浏览阅读:10,318
点赞:7 收藏:40
(本篇笔记于2022-05-01 13:20:17首次发布,最后修改于2022-05-08 08:46:13)
- 统计字符串字符出现的次数
地址:https://blog.csdn.net/m0_57158496/article/details/130517025
浏览阅读:8,471
点赞:5 收藏:27
(本篇笔记于2023-05-06 22:28:18首次发布,最后修改于2023-05-12 06:21:40)
- 罗马数字转换器|罗马数字生成器
地址:https://blog.csdn.net/m0_57158496/article/details/122592047
浏览阅读:8,325
收藏:3
(本篇笔记于2022-01-19 23:26:42首次发布,最后修改于2022-01-21 18:37:46)
- Python字符串居中显示
地址:https://blog.csdn.net/m0_57158496/article/details/122163023
浏览阅读:8,142
点赞:1 收藏:12 评论:1
- 回车符、换行符和回车换行符
地址:https://blog.csdn.net/m0_57158496/article/details/123109488
浏览阅读:6,867
点赞:2 收藏:4
(本篇笔记于2022-02-24 13:10:02首次发布,最后修改于2022-02-25 20:07:40)
- python清屏
地址:https://blog.csdn.net/m0_57158496/article/details/120762101
浏览阅读:6,232
点赞:1 收藏:10
- 我的 Python.color() (Python 色彩打印控制)
地址:https://blog.csdn.net/m0_57158496/article/details/123194259
浏览阅读:6,099
点赞:2 收藏:9
(本篇笔记于2022-02-28 22:46:21首次发布,最后修改于2022-03-03 10:30:03)
截屏图片

(此文涉及ChatPT,曾被csdn多次下架,前几日又因新 发笔记被误杀而落马。躺“未过审”还不如回收站 ,回收站还不如永久不见。😪值此年底清扫,果 断移除。留此截图,以识“曾经”。2023-12-31)
精品文章:
- 好 文力荐:齐伟书稿 《python 完全自学教程》 Free连载(已完稿并集结成书,还有PDF版本百度网盘永 久分享,点击跳转 免费🆓下载。)
- OPP三大特性:封装中的property
- 通过内置 对象理解python
- 正则表达式
- python中“*”的作用
- Python 完全自学手册
- 海象运算符
- Python中的 `!=`与`is not`不同
- 学习编程的正确方法
◆ Python 入门指南 【Python 3.6.3】
好文力 荐:
- 全栈领域优质创作者——[寒 佬]博文“非技术文—关于英语和如何正确的提问”,“英语”和“会提问”是编程学习的两大利器。
- 【8大编程语言的适用领域】先别着急选语言学编程,先看它们能干嘛
- 靠谱程序员的好习惯
- 大佬帅地的优质好文“函 数功能、结束条件、函数等价式”三大要素让您认清递归
CSDN实用技巧博文:
- 8个好用到爆的Python实用技巧
- python忽略警告
- Python代 码编写规范
- Python的docstring规范(说明文档的规范写法)
相关文章:
安全无事故连续天数计算,python 时间工具的高效利用
安全天数计算,数据系统时间直取,安全标准高效便捷好用。 笔记模板由python脚本于2025-03-17 23:50:52创建,本篇笔记适合对python时间工具有研究欲的coder翻阅。 【学习的细节是欢悦的历程】 博客的核心价值:在于输出思考与经验&am…...
如何玩DeepSeek!15分钟快速创建GIS动态数据可视化仪表盘
DeepSeek最近火遍全球,大家用的都用的不亦乐乎。国外呢?当然也是,最近一上YouTube、X等都是deepseek的推送。 今天介绍一下,我在YouTube上看到的GIS行业与DeepSeek结合的一个案例: 快速轻松构建交互式地图仪表盘&…...
课上测试:MIRACL共享库使用测试
MIRACL(MultiprecisionIntegerandRationalArithmeticC/cLibrary)是著名的密码算法库,设法去官网下载安装MIRACL,提交安装过程截图或过程文本(3分). 去github官网下载.zip文件 使用如下命令进行解压 unzip -j -aa -L MIRACL-mast…...
网络编程知识预备阶段
1. OSI七层模型 OSI(Open System Interconnect)七层模型是一种将计算机网络通信协议划分为七个不同层次的标准化框架。每一层都负责不同的功能,从物理连接到应用程序的处理。这种模型有助于不同的系统之间进行通信时,更好地理解和…...
Echo服务详解与实现
各类资料学习下载合集 https://pan.quark.cn/s/8c91ccb5a474 在网络编程中,Echo服务是一个非常基础且重要的服务,它的功能是接收客户端发送的数据,并将相同的数据返回给客户端。本文将详细介绍如何使用Python实现一个简单的Echo服务,并提供完整的代码实例及运行结…...
STM32微控制器_03_GPIO原理与应用
核心内容 STM32 GPIO基本原理(熟悉)GPIO输出功能HAL库编程实现的应用(重点)GPIO输入功能HAL库编程实现的应用(重点) 一.STM32 GPIO基本原理 1.GPIO简介 STM32的GPIO相当于STM32的四肢,一个S…...
零拷贝分析
kafka 零拷贝 请求 - 网口 - socket - 用户态 - 内核缓存区 - 内核态(磁盘信息) 磁盘 - 内核缓存区 - 用户缓存区 - 网络缓存区 零拷贝(Zero-Copy) 是一种高效的数据传输技术,旨在减少数据在内存中的拷贝次数&#x…...
爬虫逆向:详细讲述Android底层原理及机制
更多内容请见: 爬虫和逆向教程-专栏介绍和目录 文章目录 一、Android系统架构1.1 Linux内核层1.2 硬件抽象层(HAL)1.3 系统运行库层1.4 应用框架层1.5 应用层二、Android启动过程三、进程与线程管理四、内存管理机制五、Binder机制六、安全机制七、电源管理机制八、Android …...
电容器基础观念
Take-away: 电容器容值,和「导体的几何形状」,「周围的介电材料」相关。电力线起于正电荷,终止于负电荷。金属互相越靠近,电容越大。Maxwell电容矩阵有负号,SPICE电容矩阵没有负号。Maxwell电容矩阵、SPICE电容矩阵可…...
Python 视频爬取教程
文章目录 前言基本原理环境准备Python安装选择Python开发环境安装必要库 示例 1:爬取简单直链视频示例 2:爬取基于 HTML5 的视频(以某简单视频网站为例) 前言 以下是一个较为完整的 Python 视频爬取教程,包含基本原理…...
NumPy系列 - 创建矩阵
目录 前传直接创建数组就只是创建数组1. np.array()2. np.arange()3. np.ones()4. numpy.ones_like()5. np.zeros()6. numpy.zeros_like() 定义数据类型 参考资料 前传 由于,某人在上智能相关课程的时候,总想着一大堆的事情,统计股市涨跌&am…...
从Instagram到画廊:社交平台如何改变艺术家的展示方式
从Instagram到画廊:社交平台如何改变艺术家的展示方式 在数字时代,艺术家的展示方式正在经历一场革命。社交平台,尤其是Instagram,已经成为艺术家展示作品、与观众互动和建立品牌的重要渠道。本文将探讨社交平台如何改变艺术家的…...
谈谈 TypeScript 中的联合类型(union types)和交叉类型(intersection types),它们的应用场景是什么?
一、联合类型(Union Types) 核心概念 使用管道符 | 表示多选一关系,典型场景:处理可能存在多种类型的变量 // 基础示例:处理数值型ID(number)或哈希型ID(string) type…...
华为OD机试 - 最长的完全交替连续方波信号(Java 2023 B卷 200分)
题目描述 给定一串方波信号,要求找出其中最长的完全连续交替方波信号并输出。如果有多个相同长度的交替方波信号,输出任意一个即可。方波信号的高位用1标识,低位用0标识。 说明: 一个完整的信号一定以0开始并以0结尾,即010是一个完整的信号,但101,1010,0101不是。输入的…...
✎ 一次有趣的经历
📆2025年3月17日 | 周一 | ☀️晴 📍今天路过学院楼7,见到了满园盛开的花🌺,心情瞬间明朗! 📌希望接下来的日子也能像这些花一样,充满活力🔥! …...
【Spring】第二弹:通过反射机制初步理解 IoC
一、Java 反射机制 Java反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意方法和属性;这种动态获取信息以及动态调用对象方法的功能称为Java语言的反射机…...
快!快!快!NDPP时延测试数据公布!
在全方位认识NDPP第3期《NDPP在金融场景的应用》中,我们重点介绍了NDPP的典型应用场景行情解码硬件加速和策略计算加速,并帮助某百亿私募用户基于NDPP实现期货业务加速的案例。 近期,中科驭数凭借低时延产品荣获信创“大比武”行业融合赛道三…...
激光雷达“开卷”2.0,头部Tier1入局
高阶智驾的普及,正在催生激光雷达市场的巨大潜在增长空间。 本周,汽车激光雷达主力供应商之一的禾赛科技发布财报,去年第四季度激光雷达总交付量为222,054台,同比增长153.1%,超过2023年全年。2024全年激光雷达总交付量…...
STM32 - 在机器人领域,LL库相比HAL优势明显
在机器人控制器、电机控制器等领域的开发,需要高实时性、精细化控制或者对代码执行效率、占用空间有较高要求。所以,大家常用的HAL库明显不符合要求。再加上,我们学习一门技术,一定要学会掌握底层的原理。MCU开发的底层就是寄存器…...
力扣No.376.摆动序列
题目: 链接: https://leetcode.cn/problems/wiggle-subsequence/description/ 代码: class Solution {public int wiggleMaxLength(int[] nums) {int nnums.length;//状态表示:int[] fnew int[n];int[] gnew int[n];//初始化:for(int i0;i…...
找工作、创业的思考和出路
最近有几位朋友在找工作,以及探索职场出路,与他们聊了一些关于找工作和职业发展的话题。而这些话题对大多数职场人来说,都是必须考虑和面对的问题。今天就基于这两个话题展开聊聊。 首先,初入职场时,工作是相对容易找…...
IP关联是什么?怎么避免?
在跨境电商的道路上,大家好!今天想和大家聊一聊一个非常重要的话题,那就是IP关联的问题。在商业活动中,了解如何避免IP关联对保护我们宝贵的商铺至关重要。接下来,我们将深入探讨IP关联的概念、影响及如何有效防止这一…...
C语言中qsort函数的详解,以及模拟
引言 C语言中qsort函数的详解和模拟实现qsort函数,这里为了使用冒泡排序来模拟qsort函数 一、详解qsort函数 在 C 语言中,qsort 函数是一个标准库函数,用于对数组进行快速排序(Quick Sort)。它位于 <stdlib.h>…...
9、讲一讲你理解的虚拟内存【中高频】
计算机早期,CPU 是直接操作 物理内存(Physical Memory)的,但这会导致 内存空间无法完全隔离,一个程序修改了另一个程序的地址空间,就会导致程序崩溃;同时物理内存大小有限,一旦超出这…...
算法刷题整理合集(四)
本篇博客旨在记录自已的算法刷题练习成长,里面注有详细的代码注释以及和个人的思路想法,希望可以给同道之人些许帮助。本人也是算法小白,水平有限,如果文章中有什么错误或遗漏之处,望各位可以在评论区指正出来…...
高数1.5 极限的运算法则
1. 预备知识 2.四则求极限法则 3.复合运算求极限法则...
【鸿蒙开发】Hi3861学习笔记- 定时器中断
00. 目录 文章目录 00. 目录01. 概述02. 定时器相关API2.1 hi_timer_create2.2 hi_timer_start2.3 hi_timer_stop2.4 hi_timer_delete 03. 硬件设计04. 软件设计05. 实验现象06. 附录 01. 概述 定时器,顾名思义就是用来计时的,我们常常会设定计时或闹钟…...
Spring Cloud Config 快速介绍与实例
Spring Cloud Config 是什么? Spring Cloud Config 是一个用于分布式系统的配置管理工具,提供集中化的外部配置支持。它适用于微服务架构,能够将各个服务的配置集中存储在服务端(如 Git 仓库),客户端按需动态获取配置,解决了配置分散、环境切换复杂等问题。 Spring Cl…...
Power Apps 技术分享:画布应用使用表单控件
前言 表单控件,是画布应用里一个非常好用的控件,我们今天简单介绍下,如何使用这个控件。 正文 1.首先,我们需要有一个数据源,我们这里用上一篇博客新建的数据源,如下图: 2.新建一个页面…...
【数据库】Data Model(数据模型)数据模型分析
理解图片中的 Data Model(数据模型)是学习数据库设计和应用程序开发的重要一步。作为初学者,你可以通过比喻和简单的解释来理解这些概念以及它们之间的联系。以下是对图片中数据模型的详细分析,以及如何理解它们之间的关系。 1. 数…...
