安全无事故连续天数计算,python 时间工具的高效利用

安全天数计算,数据系统时间直取,安全标准高效便捷好用。


  笔记模板由python脚本于2025-03-17 23:50:52创建,本篇笔记适合对python时间工具有研究欲的coder翻阅。


【学习的细节是欢悦的历程】

  博客的核心价值在于输出思考与经验,而不仅仅是知识的简单复述


  • Python官网
      这里,才 python 前沿。英文原版,原汁原味,才是寻根溯源的正统。😎
    地址:https://www.python.org/

  • Free
      大咖免费“圣级”秘笈《 python 完全自学教程》不仅仅是基础那么简单……
    地址:https://lqpybook.readthedocs.io/



  自学并不是什么神秘的东西,一个人一辈子自学的时间,总是比在学校学习的时间长;没有老师的时候总是比有老师的时候多。
            —— 华罗庚


---== 彰显C位 ==---

  1. ,可以在评论区书写任何想法
  2. (我将在看到的第一时间回应)

  3. (预置空地)
---== 彰显C位 ==---

我的座右铭图片,上书中文“等风来,不如追风去……”



数据系统时间直取
安全天数计算
安全标准高效便捷好用



本文质量分:

97 97 97

本文地址: 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}")



2025  2025  2025


2、算法解析


  解析


2.1 Title


  • 代码解析

  • 代码运行效果截屏图片


Python代码



2025  2025  2025



3、完整源码(Python)




2025  2025  2025


上一篇:
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篇。

  1. 让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)

  2. 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)

  3. 个人信息提取(字符串)
    地址: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)

  4. 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)

  5. 统计字符串字符出现的次数
    地址: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)

  6. 罗马数字转换器|罗马数字生成器
    地址:https://blog.csdn.net/m0_57158496/article/details/122592047
    浏览阅读:8,325
    收藏:3 
    (本篇笔记于2022-01-19 23:26:42首次发布,最后修改于2022-01-21 18:37:46)

  7. Python字符串居中显示
    地址:https://blog.csdn.net/m0_57158496/article/details/122163023
    浏览阅读:8,142
    点赞:1 收藏:12 评论:1
  8. 回车符、换行符和回车换行符
    地址: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)

  9. python清屏
    地址:https://blog.csdn.net/m0_57158496/article/details/120762101
    浏览阅读:6,232
    点赞:1 收藏:10 
  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)


推荐条件 阅读量突破6.00k
(更多热博,请点击蓝色文字跳转翻阅)

  • 截屏图片
    在这里插入图片描述
      (此文涉及ChatPT,曾被csdn多次下架,前几日又因新 发笔记被误杀而落马。躺“未过审”还不如回收站 ,回收站还不如永久不见。😪值此年底清扫,果 断移除。留此截图,以识“曾经”。2023-12-31)



2 0 2 5  2 0 2 5  2 0 2 5


老齐漫画头像

精品文章:

  • 好 文力荐:齐伟书稿 《python 完全自学教程》 Free连载(已完稿并集结成书,还有PDF版本百度网盘永 久分享,点击跳转 免费🆓下载。)
  • OPP三大特性:封装中的property
  • 通过内置 对象理解python
  • 正则表达式
  • python中“*”的作用
  • Python 完全自学手册
  • 海象运算符
  • Python中的 `!=`与`is not`不同
  • 学习编程的正确方法
来源: 老齐教室

◆ Python 入门指南 【Python 3.6.3】

好文力 荐:

  • 全栈领域优质创作者——[寒 佬]博文“非技术文—关于英语和如何正确的提问”,“英语”和“会提问”是编程学习的两大利器。
  • 【8大编程语言的适用领域】先别着急选语言学编程,先看它们能干嘛
  • 靠谱程序员的好习惯
  • 大佬帅地的优质好文“函 数功能、结束条件、函数等价式”三大要素让您认清递归

CSDN实用技巧博文:

  • 8个好用到爆的Python实用技巧
  • python忽略警告
  • Python代 码编写规范
  • Python的docstring规范(说明文档的规范写法)

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

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

相关文章

大型语言模型(LLM)部署中的内存消耗计算

在部署大型语言模型&#xff08;LLM&#xff09;时&#xff0c;显存&#xff08;VRAM&#xff09;的合理规划是决定模型能否高效运行的核心问题。本文将通过详细的公式推导和示例计算&#xff0c;系统解析模型权重、键值缓存&#xff08;KV Cache&#xff09;、激活内存及额外开…

Mysql表的查询

一&#xff1a;创建一个新的数据库&#xff08;companydb),并查看数据库。 二&#xff1a;使用该数据库&#xff0c;并创建表worker。 mysql> use companydb;mysql> CREATE TABLE worker(-> 部门号 INT(11) NOT NULL,-> 职工号 INT(11) NOT NULL,-> 工作时间 D…

ASP.NET Webform和ASP.NET MVC 后台开发 大概80%常用技术

本文涉及ASP.NET Webform和ASP.NET MVC 后台开发大概80%技术 2019年以前对标 深圳22K左右 广州18K左右 武汉16K左右 那么有人问了2019年以后的呢&#xff1f; 答&#xff1a;吉祥三宝。。。 So 想继续看下文的 得有自己的独立判断能力。 C#.NET高级笔试题 架构 优化 性能提…

首页性能优化

首页性能提升是前端优化中的核心任务之一&#xff0c;因为首页是用户访问的第一入口&#xff0c;其加载速度和交互体验直接影响用户的留存率和转化率。 1. 性能瓶颈分析 在优化之前&#xff0c;首先需要通过工具分析首页的性能瓶颈。常用的工具包括&#xff1a; Chrome DevTo…

一周学会Flask3 Python Web开发-SQLAlchemy删除数据操作-班级模块

锋哥原创的Flask3 Python Web开发 Flask3视频教程&#xff1a; 2025版 Flask3 Python web开发 视频教程(无废话版) 玩命更新中~_哔哩哔哩_bilibili 首页list.html里加上删除链接&#xff1a; <!DOCTYPE html> <html lang"en"> <head><meta c…

改变一生的思维模型【12】笛卡尔思维模型

目录 基本结构 警惕认知暗礁 案例分析应用 一、怀疑阶段:破除惯性认知 二、解析阶段:拆解问题为最小单元 三、整合阶段:重构逻辑链条 四、检验阶段:多维验证解决方案 总结与启示 笛卡尔说,唯独自己的思考是可以相信的。 世界上所有的事情,都是值得被怀疑的,但是…

需求文档(PRD,Product Requirement Document)的基本要求和案例参考:功能清单、流程图、原型图、逻辑能力和表达能力

文章目录 引言I 需求文档的基本要求结构清晰内容完整语言准确图文结合版本管理II 需求文档案例参考案例1:电商平台“商品中心”功能需求(简化版)案例2:教育类APP“记忆宝盒”非功能需求**案例3:软件项目的功能需求模板3.1 功能需求III 需求文档撰写技巧1. **从核心逻辑出发…

五大方向全面对比 IoTDB 与 OpenTSDB

对比系列第三弹&#xff0c;详解 IoTDB VS OpenTSDB&#xff01; 之前&#xff0c;我们已经深入探讨了时序数据库 Apache IoTDB 与 InfluxDB、Apache HBase 在架构设计、性能和功能方面等多个维度的区别。还没看过的小伙伴可以点击阅读&#xff1a; Apache IoTDB vs InfluxDB 开…

Electron使用WebAssembly实现CRC-16 MAXIM校验

Electron使用WebAssembly实现CRC-16 MAXIM校验 将C/C语言代码&#xff0c;经由WebAssembly编译为库函数&#xff0c;可以在JS语言环境进行调用。这里介绍在Electron工具环境使用WebAssembly调用CRC-16 MAXIM格式校验的方式。 CRC-16 MAXIM校验函数WebAssembly源文件 C语言实…

vue3vue-elementPlus-admin框架中form组件的upload写法

dialog中write组件代码 let ImageList reactive<UploadFile[]>([])const formSchema reactive<FormSchema[]>([{field: ImageFiles,label: 现场图片,component: Upload,colProps: { span: 24 },componentProps: {limit: 5,action: PATH_URL /upload,headers: {…

Linux mount和SSD分区

为什么要用 mount&#xff1f; Linux 的文件系统结构是单一的树状层次 所有文件、目录和设备都从根目录 / 开始延伸。 外部的存储设备&#xff08;如硬盘、U盘、网络存储&#xff09;或虚拟文件系统&#xff08;如 /proc、/sys&#xff09;必须通过挂载点“嫁接”到这棵树上&a…

【Function】Azure Function通过托管身份或访问令牌连接Azure SQL数据库

【Function】Azure Function通过托管身份或访问令牌连接Azure SQL数据库 推荐超级课程: 本地离线DeepSeek AI方案部署实战教程【完全版】Docker快速入门到精通Kubernetes入门到大师通关课AWS云服务快速入门实战目录 【Function】Azure Function通过托管身份或访问令牌连接Azu…

举例说明 牛顿法 Hessian 矩阵

矩阵求逆的方法及示例 目录 矩阵求逆的方法及示例1. 伴随矩阵法2. 初等行变换法矩阵逆的实际意义1. 求解线性方程组2. 线性变换的逆操作3. 数据分析和机器学习4. 优化问题牛顿法原理解释举例说明 牛顿法 Hessian 矩阵1. 伴随矩阵法 原理:对于一个 n n n 阶方阵 A A

安科瑞分布式光伏监测系统:推动绿色能源高效发展

安科瑞顾强 为应对传统能源污染与资源短缺&#xff0c;分布式光伏发电成为关键解决方案。安科瑞Acrel-1000DP分布式光伏监控系统结合光功率预测技术&#xff0c;有效提升发电稳定性&#xff0c;助力上海汽车变速器有限公司8.3MW屋顶光伏项目实现清洁能源高效利用。 项目亮点 …

从零开始使用 **Taki + Node.js** 实现动态网页转静态网站的完整代码方案

以下是从零开始使用 Taki Node.js 实现动态网页转静态网站的完整代码方案&#xff0c;包含预渲染、自动化构建、静态托管及优化功能&#xff1a; 一、环境准备 1. 初始化项目 mkdir static-site && cd static-site npm init -y2. 安装依赖 npm install taki expre…

商业智能BI分析中,汽车4S销售行业的返厂频次有什么分析价值?

买过车的朋友会发现&#xff0c;同一款车不管在哪个4S店去买&#xff0c;基本上价格都相差不大。即使有些差别&#xff0c;也是带着附加条件的&#xff0c;比如要做些加装需要额外再付一下费用。为什么汽车4S销售行业需要商业智能BI&#xff1f;就是因为在汽车4S销售行业&#…

静态链接过程发生了什么?

在静态链接过程中主要发生了两件事。一是空间与地址分配&#xff0c;链接器扫描所有输入文件的段&#xff0c;合并相似段并且重新计算段长度和在虚拟内存中的映射关系&#xff0c;收集所有的符号放到全局符号表中。二是符号解析与重定位&#xff0c;链接器收集所有的段信息和重…

✎ 一次有趣的经历

&#x1f4c6;2025年3月17日 | 周一 | ☀️晴 &#x1f4cd;今天路过学院楼7&#xff0c;见到了满园盛开的花&#x1f33a;&#xff0c;心情瞬间明朗&#xff01; &#x1f4cc;希望接下来的日子也能像这些花一样&#xff0c;充满活力&#x1f525;&#xff01; &#x1…

docker安装redis

第一步&#xff1a;docker拉取redis镜像 这种命令如果没有指定版本则是最新版本&#xff1a;docker pull redis 成功了 docker images 查询已经拉取成功镜像 然后因为在容器内部我们修改redis的配置不好修改&#xff0c;所以我们可以进行挂载配置文件 这个配置文件可以方便…

C语言学习笔记(第三部份)

说明&#xff1a;由于所有内容放在一个md文件中会非常卡顿&#xff0c;本文件将接续C_1.md文件的第三部分 整型存储和大小端 引例&#xff1a; int main(void) {// printf("%d\n", SnAdda(2, 5));// PrintDaffodilNum(10000);// PrintRhombus(3);int i 0;int arr[…