当前位置: 首页 > news >正文

python中时间函数及其应用

 近段时间,因在改写以前写的学校自动铃声控制系统,又学到了一些新的知识,特记录如下:

一、时间函数基础

1、time模块中的函数及其用法

  • time.time(): 返回当前时间的时间戳,即自1970年1月1日以来的秒数。

  • time.localtime(): 返回本地时间的结构化表示。如time.struct_time(tm_year=2024, tm_mon=10, tm_mday=6, tm_hour=20, tm_min=12, tm_sec=1, tm_wday=6, tm_yday=280, tm_isdst=0)

  • time.gmtime(): 返回UTC时间的结构化表示。如time.struct_time(tm_year=2024, tm_mon=10, tm_mday=6, tm_hour=12, tm_min=12, tm_sec=1, tm_wday=6, tm_yday=280, tm_isdst=0)

  • time.sleep(seconds): 使程序暂停指定的秒数。

  • time.strftime('%Y-%m-%d %H:%M:%S', t): 将结构化时间对象转换为指定格式的字符串。

  • time.strptime(string,'%Y-%m-%d %H:%M:%S'): 将字符串转换为结构化时间对象。

2、datetime模块中的函数及其用法

  • datetime.datetime(): 创建日期时间对象。
  • datetime.now(): 获取当前日期和时间。
  • datetime.fromtimestamp(timestamp): 将时间戳转换为日期时间对象。
  • datetime.timedelta(): 表示两个日期或时间之间的差异。

二、时间函数的应用

3、将用字符串形式表示的日期时间格式化

from datetime import datetime,date,time
import time
from chinese_calendar import is_workday, is_holiday, is_in_lieudat = '2021-9-11'
tim = '9:11:30'
str_time = dat + ' ' + tim # 用空格分隔日期与时间
t_strp = datetime.strptime(str_time, '%Y-%m-%d %H:%M:%S') # 字符格式解析为日期时间
print('当前时间t_strp为', t_strp, type(t_strp))

结果为:当前时间t_strp为 2021-09-11 09:11:30 <class 'datetime.datetime'>

4、时间对象转换为指定格式的字符串

from datetime import datetime,date,time
import time
from chinese_calendar import is_workday, is_holiday, is_in_lieut_strf = time.strftime('%Y-%m-%d %H:%M:%S %A', time.localtime()) # 格式化输出
print('本地时间localtime为:',time.localtime())
print('本地时间t_strf为', t_strftime, type(t_strftime))

运行结果为:本地时间localtime为:time.struct_time(tm_year=2024, tm_mon=10, tm_mday=6, tm_hour=20, tm_min=31, tm_sec=20, tm_wday=6, tm_yday=280, tm_isdst=0)
本地时间为t_strf为 2024-10-06 20:31:20 Sunday <class 'str'>

5、合并日期时间

我们从指令电子表格中分别提取各指令时间,日期则用当前日期,合并成日期时间,再转变成时间戳,就可以和当前时间求时间差,从而判断指令是否该运行了。

需要注意的是,电子表格提取的时间已经是时间格式。

import openpyxl
import re
import colorama # 打包后彩色字显示用
from datetime import datetime, date, time,timedelta
from chinese_calendar import is_workday, is_holiday # 自动判断中国假期
import time
import oswb = openpyxl.load_workbook('自动打铃指令.xlsx',data_only=True)  # 打开指令文件,如有公式只读数据
sheet = wb['Sheet1']
tim = sheet['B' + str(i)].value  # 提取指令时间,已是datetime数据类型
time2 = datetime.combine(date_today, time1) # 合并日期时间,已是datetime数据类型t0 = time.time()
t1 = time2.timestamp()
differtime = (t1 - t0) # 时间差(秒)

6、自动判断中国工作日和假日

对于学校上课铃声控制,还要考虑周末响铃扰民问题,起先考虑平常周从星期列表中判断周六周日不响铃,国家节假日调休时再重新生成一个新的列表,很是复杂。

不经意间,发现有第三方插件chinese_calendar,能自动判断中国节假日,太好了。

import openpyxl
import re
import colorama # 打包后彩色字显示用
from datetime import datetime, date, time,timedelta
from chinese_calendar import is_workday, is_holiday # 自动判断中国假期
import time
import oswhile True:date_today = date.today() # 重新读取当前时间week_list = ["星期一", "星期二", "星期三", "星期四", "星期五", "星期六", "星期日"]weekday = date_today.weekday()week = week_list[weekday]# print('星期:', week_list[weekday])print(f'今天是{date_today},{week}')work_day = is_workday(date_today) # 能自動判斷中國工作日holi_day = is_holiday(date_today) # 能自動判斷中國節假日# print('工作日', is_workday(date_today))if work_day == True:  # 工作日print('是国家规定的工作日。')ins() # 导入指令包run() # 运行主程序else:date_today = date.today()

极域电子教室座位表程序下载链接:链接:https://pan.baidu.com/s/1X0WUTtXmr1EhFg9CNgoIKA?pwd=odvs 
提取码:odvs

考试指令系统下载链接:https://pan.baidu.com/s/11x9fS1gUEPCd6w15KHCxSw?pwd=zvw3 
提取码:zvw3 

照片插入电子表格程序链接:https://pan.baidu.com/s/1dvW5q9G53prkUDVcO6uffA?pwd=w3jp 
提取码:w3jp 

相关文章:

python中时间函数及其应用

近段时间&#xff0c;因在改写以前写的学校自动铃声控制系统&#xff0c;又学到了一些新的知识&#xff0c;特记录如下&#xff1a; 一、时间函数基础 1、time模块中的函数及其用法 time.time(): 返回当前时间的时间戳&#xff0c;即自1970年1月1日以来的秒数。 time.localt…...

MoveIt2-humble】入门教程----第一个 C++ MoveIt 程序

四节教程会手把手带你写一个完整的 Moveit 控制程序&#xff0c;包括轨迹规划、RViz可视化、添加碰撞物体、抓取和放置。 1 创建依赖包 进入到教程所在工作空间下的src目录&#xff0c;创建一个新的依赖包。 ros2 pkg create \--build-type ament_cmake \--dependencies mov…...

watch命令:周期执行指定命令

一、命令简介 ​watch ​命令用于周期性地执行指定的命令&#xff0c;并显示其输出结果。 ‍ 二、命令参数 2.1 命令格式 watch [选项] 命令2.2 选项 ​-n, --interval​: 指定更新间隔时间&#xff08;以秒为单位&#xff09;。默认间隔时间为 2 秒。​-d, --difference…...

【ADC】噪声(1)噪声分类

概述 本文学习于TI 高精度实验室课程&#xff0c;总结 ADC 的噪声分类&#xff0c;并简要介绍量化噪声和热噪声。 文章目录 概述一、ADC 中的噪声类型二、量化噪声三、热噪声四、量化噪声与热噪声对比 一、ADC 中的噪声类型 ADC 固有噪声由两部分组成&#xff1a;第一部分是量…...

网络安全概述:从认知到实践

一、定义 网络安全&#xff0c;即致力于保护网络系统所涵盖的硬件、软件以及各类数据&#xff0c;切实保障其免遭破坏、泄露或者篡改等不良情形的发生。 二、重要性 个人层面&#xff1a;着重于守护个人隐私以及财产安全&#xff0c;为个人在网络世界中的各项活动提供坚实的保…...

Vue.js组件开发研究

摘要 随着前端技术的快速发展&#xff0c;Vue.js以其轻量级、高性能和组件化开发的优势&#xff0c;在前端开发领域占据了重要地位。本研究深入探讨了Vue.js组件开发的理论基础、开发方法以及实际应用。通过系统梳理Vue.js框架的核心特性、组件化思想及Vue.js组件的基本概念&am…...

OpenHarmony(鸿蒙南向开发)——轻量系统芯片移植案例(一)

往期知识点记录&#xff1a; 鸿蒙&#xff08;HarmonyOS&#xff09;应用层开发&#xff08;北向&#xff09;知识点汇总 鸿蒙&#xff08;OpenHarmony&#xff09;南向开发保姆级知识点汇总~ 持续更新中…… 轻量带屏解决方案之恒玄芯片移植案例 本文章基于恒玄科技BES2600W…...

【Llamaindex RAG实践】

基础任务 (完成此任务即完成闯关) 任务要求&#xff1a;基于 LlamaIndex 构建自己的 RAG 知识库&#xff0c;寻找一个问题 A 在使用 LlamaIndex 之前InternLM2-Chat-1.8B模型不会回答&#xff0c;借助 LlamaIndex 后 InternLM2-Chat-1.8B 模型具备回答 A 的能力&#xff0c;截…...

[Linux]:线程(三)

✨✨ 欢迎大家来到贝蒂大讲堂✨✨ &#x1f388;&#x1f388;养成好习惯&#xff0c;先赞后看哦~&#x1f388;&#x1f388; 所属专栏&#xff1a;Linux学习 贝蒂的主页&#xff1a;Betty’s blog 1. POSIX 信号量 1.1 信号量的概念 为了解决多执行流访问临界区&#xff0c…...

云原生(四十一) | 阿里云ECS服务器介绍

文章目录 阿里云ECS服务器介绍 一、云计算概述 二、什么是公有云 三、公有云优缺点 1、优点 2、缺点 四、公有云品牌 五、市场占有率 六、阿里云ECS概述 七、阿里云ECS特点 阿里云ECS服务器介绍 一、云计算概述 云计算是一种按使用量付费的模式&#xff0c;这种模式…...

qemu-system-aarch64开启user用户模式网络连接

一、问题 在使用qemu构建arm64的虚拟机时&#xff0c;虚拟机没有网络&#xff0c;桥接方式相对麻烦&#xff0c;我只是需要联网更新即可。与宿主机的通信我使用共享文件夹即可满足要求。 使用指令启动虚拟机时&#xff0c;网络部分的参数为 -net user,hostfwdtcp::10022-:22 …...

Android车载——VehicleHal初始化(Android 11)

1 概述 VehicleHal是AOSP中车辆服务相关的hal层服务。它主要定义了与汽车硬件交互的标准化接口和属性管理&#xff0c;是一个独立的进程。 2 进程启动 VehicleHal相关代码在源码树中的hardware/interfaces/automotive目录下 首先看下Android.bp文件&#xff1a; cc_binary …...

CTFshow 命令执行 web37-web40

目录 web37 方法一&#xff1a;php://input 方法二&#xff1a;data协议 web38 web39 web40 方法一&#xff1a;构造文件读取 方法二&#xff1a;构造数组rce web37 error_reporting(0); if(isset($_GET[c])){$c $_GET[c];if(!preg_match("/flag/i", $c)){incl…...

数据结构与算法篇((原/反/补)码 进制)

目录 讲解一&#xff1a;原/反/补)码 一、原码 二、反码 三、补码 四、有符号位整型 五、无符号位整型 六、Java中的整型 七、整数在底层存储形式 讲解二&#xff1a;进制 一、简介 二、常用的进制 十进制 二进制 八进制 十六进制 知识补充 三、进制转换 1. 二…...

Python画笔案例-077 绘制 颜色饱和度测试

1、绘制 颜色饱和度测试 通过 python 的turtle 库绘制 颜色饱和度测试,如下图: 2、实现代码 绘制 颜色饱和度测试,以下为实现代码: """饱和度渐变示例,本程序需要coloradd模块支持,请在cmd窗口,即命令提示符下输入pip install coloradd进行安装。本程序演…...

简历投递经验01

嵌入式简历制作指南与秋招求职建议 技术要求概览 在嵌入式领域求职时&#xff0c;技术能力是HR和面试官最关注的点之一。以下是一些关键技术点&#xff0c;以及它们在简历中的体现方式。 1. 编程语言与开发环境 掌握C/C语言。熟悉至少一种单片机或微处理器的开发环境。 2.…...

数据和算力共享

数据和算力共享 针对数字化应用实践中需要在不同的物理域和信息域中进行数据的访问交换以及共享计算等需求,本文分析了在数据平台、数据集成系统以及信息交换系统中存在的问题。 在基于联邦学习的基础上,提出一种跨域数据计算共享系统,能够同时共享数据和计算资源,并支持在线…...

SpringBoot 集成 Ehcache 实现本地缓存

目录 1、Ehcache 简介2、Ehcache 集群方式3、工作原理3.1、缓存写入3.2、缓存查找3.3、缓存过期和驱逐3.4、缓存持久化 4、入门案例 —— Ehcache 2.x 版本4.1、单独使用 Ehcache4.1.1、引入依赖4.1.2、配置 Ehcache4.1.2.1、XML 配置方式4.1.2.1.1、新建 ehcache.xml4.1.2.1.2…...

CSP-J 复赛真题 P9749 [CSP-J 2023] 公路

文章目录 前言[CSP-J 2023] 公路题目描述输入格式输出格式样例 #1样例输入 #1样例输出 #1 提示 示例代码代码解析思考过程总结 总结 前言 在CSP-J 2023的复赛中&#xff0c;出现了一道引人注目的题目——“公路”。这道题目不仅考察了选手们对算法的理解和运用能力&#xff0c…...

MeterSphere压测配置说明

在MeterSphere中&#xff0c;执行性能测试时的配置参数对测试结果有重要影响。以下是对MeterSphere压测配置中几个关键参数的解释&#xff1a; 执行方式&#xff1a;决定了测试的执行模式&#xff0c;例如可以按照持续时间或迭代次数来执行测试。 按持续时间&#xff1a;在这种…...

React 第五十五节 Router 中 useAsyncError的使用详解

前言 useAsyncError 是 React Router v6.4 引入的一个钩子&#xff0c;用于处理异步操作&#xff08;如数据加载&#xff09;中的错误。下面我将详细解释其用途并提供代码示例。 一、useAsyncError 用途 处理异步错误&#xff1a;捕获在 loader 或 action 中发生的异步错误替…...

Vue记事本应用实现教程

文章目录 1. 项目介绍2. 开发环境准备3. 设计应用界面4. 创建Vue实例和数据模型5. 实现记事本功能5.1 添加新记事项5.2 删除记事项5.3 清空所有记事 6. 添加样式7. 功能扩展&#xff1a;显示创建时间8. 功能扩展&#xff1a;记事项搜索9. 完整代码10. Vue知识点解析10.1 数据绑…...

椭圆曲线密码学(ECC)

一、ECC算法概述 椭圆曲线密码学&#xff08;Elliptic Curve Cryptography&#xff09;是基于椭圆曲线数学理论的公钥密码系统&#xff0c;由Neal Koblitz和Victor Miller在1985年独立提出。相比RSA&#xff0c;ECC在相同安全强度下密钥更短&#xff08;256位ECC ≈ 3072位RSA…...

Mybatis逆向工程,动态创建实体类、条件扩展类、Mapper接口、Mapper.xml映射文件

今天呢&#xff0c;博主的学习进度也是步入了Java Mybatis 框架&#xff0c;目前正在逐步杨帆旗航。 那么接下来就给大家出一期有关 Mybatis 逆向工程的教学&#xff0c;希望能对大家有所帮助&#xff0c;也特别欢迎大家指点不足之处&#xff0c;小生很乐意接受正确的建议&…...

Cilium动手实验室: 精通之旅---20.Isovalent Enterprise for Cilium: Zero Trust Visibility

Cilium动手实验室: 精通之旅---20.Isovalent Enterprise for Cilium: Zero Trust Visibility 1. 实验室环境1.1 实验室环境1.2 小测试 2. The Endor System2.1 部署应用2.2 检查现有策略 3. Cilium 策略实体3.1 创建 allow-all 网络策略3.2 在 Hubble CLI 中验证网络策略源3.3 …...

postgresql|数据库|只读用户的创建和删除(备忘)

CREATE USER read_only WITH PASSWORD 密码 -- 连接到xxx数据库 \c xxx -- 授予对xxx数据库的只读权限 GRANT CONNECT ON DATABASE xxx TO read_only; GRANT USAGE ON SCHEMA public TO read_only; GRANT SELECT ON ALL TABLES IN SCHEMA public TO read_only; GRANT EXECUTE O…...

论文解读:交大港大上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化学习框架(一)

宇树机器人多姿态起立控制强化学习框架论文解析 论文解读&#xff1a;交大&港大&上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化学习框架&#xff08;一&#xff09; 论文解读&#xff1a;交大&港大&上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化…...

Robots.txt 文件

什么是robots.txt&#xff1f; robots.txt 是一个位于网站根目录下的文本文件&#xff08;如&#xff1a;https://example.com/robots.txt&#xff09;&#xff0c;它用于指导网络爬虫&#xff08;如搜索引擎的蜘蛛程序&#xff09;如何抓取该网站的内容。这个文件遵循 Robots…...

CRMEB 框架中 PHP 上传扩展开发:涵盖本地上传及阿里云 OSS、腾讯云 COS、七牛云

目前已有本地上传、阿里云OSS上传、腾讯云COS上传、七牛云上传扩展 扩展入口文件 文件目录 crmeb\services\upload\Upload.php namespace crmeb\services\upload;use crmeb\basic\BaseManager; use think\facade\Config;/*** Class Upload* package crmeb\services\upload* …...

Unit 1 深度强化学习简介

Deep RL Course ——Unit 1 Introduction 从理论和实践层面深入学习深度强化学习。学会使用知名的深度强化学习库&#xff0c;例如 Stable Baselines3、RL Baselines3 Zoo、Sample Factory 和 CleanRL。在独特的环境中训练智能体&#xff0c;比如 SnowballFight、Huggy the Do…...