安全无事故连续天数计算,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.rhkb.cn/news/37155.html

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

相关文章

Docker Swarm集群搭建

Docker Swarm集群搭建 1.准备环境 搭建Docker Swarm集群最低需要准备三台设备&#xff0c;且均需要提前安装好Docker。我这里准备了四台机器用于搭建集群&#xff0c;分别是&#xff1a; DockerSwarm-Node1 lemonDockerSwarm-Node1:~$ docker --version Docker version 28.…

Unity教程(二十二)技能系统 分身技能

Unity开发2D类银河恶魔城游戏学习笔记 Unity教程&#xff08;零&#xff09;Unity和VS的使用相关内容 Unity教程&#xff08;一&#xff09;开始学习状态机 Unity教程&#xff08;二&#xff09;角色移动的实现 Unity教程&#xff08;三&#xff09;角色跳跃的实现 Unity教程&…

麒麟银河V10服务器RabbitMQ安装

安装步骤 rabbitMQ依赖于erlang的环境&#xff0c;所以需要先安装erlang&#xff0c;erlang跟rabbitMQ是有版本之间的关联关系的&#xff0c;根据对应的版本去安装下载&#xff0c;保证少出问题。 可以通过官网来查看RabbitMQ和erlang之间的版本对应关系 rabbitMQ和erlang之间…

让“树和二叉树”埋在记忆土壤中--性质和概念

Nice to meet your! 目录 树的介绍&#xff1a; 树的创建&#xff1a; 二叉树的概念和结构&#xff1a; 二叉树的存储结构&#xff1a; 树的介绍&#xff1a; 概念和结构&#xff1a; 不知你们是否在现实中看见过分为两个叉的枯树&#xff0c;大概长这样&#xff1a; 那…

UDP协议原理

UDP协议原理 本篇介绍 在前面使用UDP编程时已经基本了解了UDP的工作模式&#xff0c;也知道了UDP有三个特点&#xff1a; 无连接不可靠面向数据报 但是当时并没有具体谈论为什么UDP有以上三个特点&#xff0c;基于这个原因&#xff0c;本篇就会针对这三个原因进行介绍 UDP…

关于金融开发领域的一些专业知识总结

目录 1. 交易生命周期 1.1 证券交易所 1.1.1 交易前 1) 订单生成&#xff08;Order Generation&#xff09; 2) 订单管理&#xff08;Order Management&#xff09; 1.1.2 交易执行 3) 交易匹配&#xff08;Trade Matching&#xff09; 1.1.3 交易后 4) 交易确认&…

Flutter运行错误:UG! exception in phase ‘semantic analysis‘

最近在Mac Mini M4上通过Android Studio导入Flutter项目并运行&#xff0c;结果一直跑不起来&#xff0c;错误日志如下&#xff1a; 执行命令查看版本信息&#xff1a; flutter doctor --verbose通过输出信息Java version OpenJDK Runtime Environment (build 21.0.41242208…

DeepSeek + Kimi 自动生成 PPT

可以先用deepseek生成ppt大纲&#xff0c;再把这个大纲复制到Kimi的ppt助手里&#xff1a; https://kimi.moonshot.cn/kimiplus/conpg18t7lagbbsfqksg 选择ppt模板&#xff1a; 点击生成ppt就制作好了。

【C#语言】C#中的同步与异步编程:原理、示例与最佳实践

文章目录 ⭐前言⭐一、同步编程&#xff1a;简单但低效的线性执行&#x1f31f;代码示例&#x1f31f;执行流程示意图&#x1f31f;同步编程特点 ⭐二、异步编程&#xff1a;非阻塞的高效执行&#x1f31f;代码示例&#x1f31f;执行流程示意图&#x1f31f;异步编程核心机制&a…

【MySQL数据库】存储过程与自定义函数(含: SQL变量、分支语句、循环语句 和 游标、异常处理 等内容)

存储过程&#xff1a;一组预编译的SQL语句和流程控制语句&#xff0c;被命名并存储在数据库中。存储过程可以用来封装复杂的数据库操作逻辑&#xff0c;并在需要时进行调用。 类似的操作还有&#xff1a;自定义函数、.sql文件导入。 我们先从熟悉的函数开始说起&#xff1a; …

【sgFloatDialog】自定义组件:浮动弹窗,支持修改尺寸、拖拽位置、最大化、还原、最小化、复位

sgFloatDialog <template><div :class"$options.name" v-if"visible" :theme"theme" :size"size" :style"style"><!-- 托盘头部 --><div class"header" ref"header" dblclick.s…

Java后端开发技术详解

Java作为一门成熟的编程语言&#xff0c;已广泛应用于后端开发领域。其强大的生态系统和广泛的支持库使得Java成为许多企业和开发者的首选后端开发语言。随着云计算、微服务架构和大数据技术的兴起&#xff0c;Java后端开发的技术栈也不断演进。本文将详细介绍Java后端开发的核…

搭建ISCSI传输的配置与管理

前提是&#xff1a; windows server2019设置成桥接模式&#xff0c;因为要让虚拟机和主机设置成一个网段&#xff0c;才能通过网络进行新建虚拟磁盘。 1.添加ISCSI角色 安装位置 选择文件和存储服务----------文件和iscsl 服务------------iscsl目标服务器 2.右上角点击任务&a…

晶艺代理,100V3.5A高耐压LA1823完全替换MP9487--启烨科技有限公司

晶艺品牌LA1823是异步降压转换器&#xff0c;COT控制&#xff0c;PFM工作模式, 150KHz/ 250KHz/ 450KHz &#xff0c;开关频率可调节&#xff0c;输入电压4.5~100V&#xff0c;2A平均电流&#xff0c;峰值电流3.5A&#xff0c;采用ESOP8封装。 晶艺LA1823的特性&#xff1a; 4.…

2024年消费者权益数据分析

&#x1f4c5; 2024年315消费者权益数据分析 数据见&#xff1a;https://mp.weixin.qq.com/s/eV5GoionxhGpw7PunhOVnQ 一、引言 在数字化时代&#xff0c;消费者维权数据对于市场监管、商家诚信和行业发展具有重要价值。本文基于 2024年315平台线上投诉数据&#xff0c;采用数…

jmeter吞吐量控制器-Throughput Controller

jmeter吞吐量控制器-Throughput Controller 新增吞吐量控制器名词解释测试场景场景1&#xff1a;场景2&#xff1a;场景3场景4场景5场景6场景7场景8 测试结论 根据百分比执行不同的接口测试场景测试结果 新增吞吐量控制器 名词解释 Based on: Total Executions(总执行数)/Perc…

微服务》》Kubernetes (K8S) 集群配置网络》》Calico

嘻嘻嘻 以Calico 为例子 Calico官网 官网上有安装Calico插件的步骤 步骤 要在主节点 主节点 主节点 执行 kubectl create -f https://raw.githubusercontent.com/projectcalico/calico/v3.29.2/manifests/tigera-operator.yaml kubectl create -f https://raw.githubuse…

蓝桥杯关于栈这个数据结构的一个算法题目

文章目录 1.题目概述解释2.思路分析3.代码解析 1.题目概述解释 找出来这个字符串里面重复出现的字符&#xff0c;类似于这个消消乐的游戏&#xff1b; 示例一里面的这个bb是连续的并且是一样的这个字符&#xff0c;因此删除bb&#xff0c;删除之后发现这个aa有一次相邻了&…

打破煤矿通信屏障,无线系统赋能生产安全与智能进阶

项目背景 在煤矿行业智能化转型的浪潮中&#xff0c;七台河矿业局积极回应国家煤矿智能化建设的号召&#xff0c;采取了具有前瞻性的战略举措——在七台河地区的煤矿部署了“井上井下”无线覆盖与广播一体化系统。此举旨在消除井上与井下之间的通信障碍&#xff0c;加强矿业局与…

基于CNN的FashionMNIST数据集识别4——GoogleNet模型

源码 import torch from torch import nn from torchsummary import summaryclass Inception(nn.Module):def __init__(self, in_channels, c1, c2, c3, c4):super().__init__()self.ReLu nn.ReLU()#路径1self.p1_1 nn.Conv2d(in_channelsin_channels, out_channelsc1, kern…