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

lua 实现 函数 判断两个时间戳是否在同一天

函数用于判断两个时间戳是否在同一天。下面是对代码的详细解释:

### 函数参数

  • - `stampA` 和 `stampB`:两个时间戳,用于比较。
  • - `resetInfo`:一个可选参数,包含小时、分钟和秒数,用于调整时间戳。

### 函数实现步骤

  • 1. **参数校验**:使用 `assert` 函数确保 `stampA` 和 `stampB` 都不为 `nil`。如果任一参数为 `nil`,则抛出错误信息。
  • 2. **时间戳转换**:调用 `TimeUtil:toInt` 方法将时间戳转换为整数。
  • 3. **时间戳排序**:确保 `stampA` 小于等于 `stampB`,如果不是则交换它们的值。
  • 4. **时间戳调整**:如果 `resetInfo` 参数存在,则根据 `resetInfo` 中的小时、分钟和秒数调整 `stampA` 和 `stampB`。
  • 5. **时间戳转换为日期**:调用 `TimeUtil:fixTimeZoneFor_LUA_OS_DATE` 方法将时间戳转换为日期表(`*t` 格式),分别得到 `dateA` 和 `dateB`。
  • 6. **日期比较**:检查 `dateA` 和 `dateB` 是否在同一天,即它们的 `day`、`month` 和 `year` 是否相同。如果相同则返回 `true`,否则返回 `false`。
--[[@desc 是否是同一天@param stampA 时间戳A@param stampB 时间戳B@param resetInfo[optional] 重置时间。比如12点重置,那么11点和13点就不是同一天,而23点和第二天11点是同一天。默认为hour=0,min=0,sec=0
]]
function TimeUtil:isSameDay(stampA, stampB, resetInfo)assert(stampA ~= nil, "error:stampA=nil")assert(stampB ~= nil, "error:stampB=nil")stampA = TimeUtil:toInt(stampA)stampB = TimeUtil:toInt(stampB)if stampA > stampB thenstampA, stampB = stampB, stampAendif resetInfo thenlocal resetSeconds = (resetInfo.hour or 0) * 3600 +(resetInfo.minute or 0) * 60 +(resetInfo.seconds or 0)stampA = stampA - resetSecondsstampB = stampB - resetSecondsendlocal dateA = TimeUtil:fixTimeZoneFor_LUA_OS_DATE("*t", stampA)local dateB = TimeUtil:fixTimeZoneFor_LUA_OS_DATE("*t", stampB)-- 在创建新号的时候,上面的数值可能存在空值-- 目前知道导致红点初始化错误,红点初始化中断if dateA and dateB thenreturn dateA.day == dateB.day anddateA.month == dateB.month anddateA.year == dateB.yearelsereturn falseend
end

相关文章:

lua 实现 函数 判断两个时间戳是否在同一天

函数用于判断两个时间戳是否在同一天。下面是对代码的详细解释: ### 函数参数 - stampA 和 stampB:两个时间戳,用于比较。- resetInfo:一个可选参数,包含小时、分钟和秒数,用于调整时间戳。 ### 函数实现…...

工作纪实53-log4j日志打印文件隔离

在项目中,我有一堆业务日志需要打印,另一部分的日志,是没有格式的,需要被云平台离线解析并收集到kafka或者hdfs、hive等,需要将日志隔离打印到不同的文件 正常的log4j配置是下面这样的,配合Sl4j直接使用默认…...

7月21日,贪心练习

大家好呀,今天带来一些贪心算法的应用解题、 一,柠檬水找零 . - 力扣(LeetCode) 解析: 本题的贪心体现在对于20美元的处理上,我们总是优先把功能较少的10元作为找零,这样可以让5元用处更大 …...

FPGA DNA 获取 DNA_PORT

FPGA DNA DNA 是 FPGA 芯片的唯一标识, FPGA 都有一个独特的 ID ,也就是 Device DNA ,这个 ID 相当于我们的身份证,在 FPGA 芯片生产的时候就已经固定在芯片的 eFuse 寄存器中,具有不可修改的属性。在 xilinx 7series…...

使用 hutool工具实现导入导出功能。

hutool工具网址 Hutool参考文档 pom依赖 <dependency><groupId>cn.hutool</groupId><artifactId>hutool-all</artifactId><version>5.7.20</version></dependency><dependency><groupId>org.apache.poi</gro…...

大语言模型-Transformer-Attention Is All You Need

一、背景信息&#xff1a; Transformer是一种由谷歌在2017年提出的深度学习模型。 主要用于自然语言处理&#xff08;NLP&#xff09;任务&#xff0c;特别是序列到序列&#xff08;Sequence-to-Sequence&#xff09;的学习问题&#xff0c;如机器翻译、文本生成等。Transfor…...

spring(二)

一、为对象类型属性赋值 方式一&#xff1a;(引用外部bean) 1.创建班级类Clazz package com.spring.beanpublic class Clazz {private Integer clazzId;private String clazzName;public Integer getClazzId() {return clazzId;}public void setClazzId(Integer clazzId) {th…...

MAC 数据恢复软件: STELLAR Data Recovery For MAC V. 12.1 更多增强功能

天津鸿萌科贸发展有限公司是 Stellar 系列软件的授权代理商。 STELLAR Data Recovery For MAC 该数据恢复软件可从任何存储驱动器、清空的回收站以及崩溃或无法启动的 Mac 设备中恢复丢失或删除的文件。 轻松恢复已删除的文档、照片、音频文件和视频。自定义扫描以帮助恢复特…...

初识godot游戏引擎并安装

简介 Godot是一款自由开源、由社区驱动的2D和3D游戏引擎。游戏开发虽复杂&#xff0c;却蕴含一定的通用规律&#xff0c;正是为了简化这些通用化的工作&#xff0c;游戏引擎应运而生。Godot引擎作为一款功能丰富的跨平台游戏引擎&#xff0c;通过统一的界面支持创建2D和3D游戏。…...

Windows配置Qt+VLC

文章目录 前言下载库文件提取文件编写qmakeqtvlc测试代码 总结 前言 在Windows平台上配置Qt和VLC是开发多媒体应用程序的一个重要步骤。Qt作为一个强大的跨平台应用开发框架&#xff0c;为开发人员提供了丰富的GUI工具和库&#xff0c;而VLC则是一个开源的多媒体播放器&#x…...

本地部署 mistralai/Mistral-Nemo-Instruct-2407

本地部署 mistralai/Mistral-Nemo-Instruct-2407 1. 创建虚拟环境2. 安装 fschat3. 安装 transformers4. 安装 flash-attn5. 安装 pytorch6. 启动 controller7. 启动 mistralai/Mistral-Nemo-Instruct-24078. 启动 api9. 访问 mistralai/Mistral-Nemo-Instruct-2407 1. 创建虚拟…...

2月科研——arcgis计算植被差异

ArcGIS中&#xff0c;设置高于或低于某个值的像元为 -9999&#xff0c;然后将这些地方设为空——目的&#xff1a;去除异常值和黑色背景值 Con(("T_std ano7.tif" > 2) | ("T_std ano7.tif" < - 2), - 9999,"T_std ano7.tif") SetNull(&…...

深入理解Android中的缓存与文件存储目录

&#x1f31f; 引言 在Android应用开发中&#xff0c;合理管理应用的数据存储至关重要。应用可能需要保存各种类型的数据&#xff0c;从简单的配置信息到多媒体文件&#xff0c;甚至是缓存数据以提高性能和用户体验。Android提供了多个内置目录来满足这些需求&#xff0c;但它…...

Linux_生产消费者模型

目录 1、生产消费者模型示意图 2、生产者消费者之间的关系 3、定义交易场所 4、实现生产消费者模型 5、伪唤醒 6、多生产多消费者的实际运用 7、POSIX信号量 7.1 初始化信号量 7.2 销毁信号量 7.3 等待信号量 7.4 发布信号量 8、生产消费的环形队列模型 8.1…...

【Vue】`v-if` 指令详解:条件渲染的高效实现

文章目录 一、v-if 指令概述二、v-if 的基本用法1. 基本用法2. 使用 v-else3. 使用 v-else-if 三、v-if 指令的高级用法1. 与 v-for 一起使用2. v-if 的性能优化 四、v-if 的常见应用场景1. 表单验证2. 弹窗控制 五、v-if 指令的注意事项 Vue.js 是一个用于构建用户界面的渐进式…...

junit mockito Base基类

编写单元测试时我们都习惯性减少重复代码 以下基于spring mvc框架&#xff0c;需要手动pom导包 BaseTest类用于启动上下文进行debug调试 MockBaseTset类用于不启动上下文进行打桩mock pom.xml <dependency><groupId>org.mockito</groupId><artifactId…...

朋友圈运营分享干货2

朋友圈发什么内容&#xff1f; 1、产品相关 产品服务&#xff1a;产品的内容要有“用户视角”从用户的使用痛点入手&#xff0c;写到用户心坎里&#xff0c;才能引发购买 买家秀&#xff1a;买家秀是很好的朋友圈索材&#xff0c;可以让用户有一个正面感知清楚了解工品的情况…...

linux中创建一个名为“thread1“,堆栈大小为1024,优先级为2的线程

在Linux中&#xff0c;直接创建一个具有特定堆栈大小和优先级的线程通常不是通过标准的POSIX线程&#xff08;pthread&#xff09;库直接支持的。POSIX线程库&#xff08;pthread&#xff09;提供了创建和管理线程的基本机制&#xff0c;但不直接支持设置线程的堆栈大小或优先级…...

架构以及架构中的组件

架构以及架构中的组件 Transform Transform 以下的代码包含&#xff1a; 标准化的示例残差化的示例 # huggingface # transformers# https://www.bilibili.com/video/BV1At4y1W75x?spm_id_from333.999.0.0import copy import math from collections import namedtupleimport …...

Docker启动PostgreSql并设置时间与主机同步

在 Docker 中启动 PostgreSql 时&#xff0c;需要配置容器的时间与主机同步。可以通过在 Dockerfile 或者 Docker Compose 文件中设置容器的时区&#xff0c;或者使用宿主机的时间来同步容器的时间。这样可以确保容器中的 PostgreSql 与主机的时间保持一致&#xff0c;避免在使…...

提升无线网络安全:用Python脚本发现并修复WiFi安全问题

文章目录 概要环境准备技术细节3.1 实现原理3.2 创建python文件3.3 插入内容3.4 运行python脚本 加固建议4.1 选择强密码4.2 定期更换密码4.3 启用网络加密4.4 关闭WPS4.5 隐藏SSID4.6 限制连接设备 小结 概要 在本文中&#xff0c;我们将介绍并展示如何使用Python脚本来测试本…...

#三元运算符(python/java/c)

引入&#xff1a;什么是三元运算符呢&#xff1f;无疑其操作元有三个&#xff0c;一个是条件表达式&#xff0c;剩余两个为值&#xff0c;条件表达式为真时运算取第一个值&#xff0c;为假时取第二个值。 一 Python true_expression if condition else false_expressi…...

探索Python自然语言处理的新篇章:jionlp库介绍

探索Python自然语言处理的新篇章&#xff1a;jionlp库介绍 1. 背景&#xff1a;为什么选择jionlp&#xff1f; 在Python的生态中&#xff0c;自然语言处理&#xff08;NLP&#xff09;是一个活跃且不断发展的领域。jionlp是一个专注于中文自然语言处理的库&#xff0c;它提供了…...

Deepin系统,中盛科技温湿度模块读温度纯c程序(备份)

#include <stdio.h> #include <fcntl.h> #include <unistd.h> #include <termios.h>int main() {int fd;struct termios options;// 打开串口设备fd open("/dev/ttyMP0", O_RDWR | O_NOCTTY|O_NDELAY); //O_NDELAY:打开设备不阻塞//O_NOCTT…...

文件包含漏洞: 函数,实例[pikachu_file_inclusion_local]

文件包含 文件包含是一种较为常见技术&#xff0c;允许程序员在不同的脚本或程序中重用代码或调用文件 主要作用和用途&#xff1a; 代码重用&#xff1a;通过将通用函数或代码段放入单独的文件中&#xff0c;可以在多个脚本中包含这些文件&#xff0c;避免重复编写相同代码。…...

学习计划2024下半年

基础&#xff1a; 学习《算法第4版》&#xff0c;学习leetcode上的面试经典150题&#xff0c;使用C完成&#xff1b;再看一般《深入理解计算机系统》语言&#xff1a; 学习go语言&#xff0c;并且用它写一个小软件(还没想好什么),写一个pingtool程序编程思想&#xff1a; 阅读经…...

RabbitMQ的学习和模拟实现|sqlite轻量级数据库的介绍和简单使用

SQLite3 项目仓库&#xff1a;https://github.com/ffengc/HareMQ SQLite3 什么是SQLite为什么需要用SQLite官方文档封装Helper进行一些实验 什么是SQLite SQLite是一个进程内的轻量级数据库&#xff0c;它实现了自给自足的、无服务器的、零配置的、事务性的 SQL数据库引擎…...

AI批量剪辑,批量发布大模型矩阵系统搭建开发

目录 前言 一、AI矩阵系统功能 二、AI批量剪辑可以解决什么问题&#xff1f; 总结&#xff1a; 前言 基于ai生成或剪辑视频的原理&#xff0c;利用ai将原视频进行混剪&#xff0c;生成新的视频素材。ai会将剪辑好的视频加上标题&#xff0c;批量发布到各个自媒体账号上。这…...

SpringMVC源码深度解析(中)

接上一遍博客《SpringMVC源码深度解析(上)》继续聊。最后聊到了SpringMVC的九大组建的初始化&#xff0c;以 HandlerMapping为例&#xff0c;SpringMVC提供了三个实现了&#xff0c;分别是&#xff1a;BeanNameUrlHandlerMapping、RequestMappingHandlerMapping、RouterFunctio…...

Mojo模型动态批处理:智能预测的终极武器

标题&#xff1a;Mojo模型动态批处理&#xff1a;智能预测的终极武器 在机器学习领域&#xff0c;模型的灵活性和可扩展性是至关重要的。Mojo模型&#xff08;Model-as-a-Service&#xff09;提供了一种将机器学习模型部署为服务的方式&#xff0c;允许开发者和数据科学家轻松…...

长沙设计网站建设/岳阳网站建设推广

作者&#xff1a;陈诚 团队&#xff1a;腾讯移动品质中心TMQ 一、androidUI过度渲染概述 1、从android卡顿说起 通常我们可以从各种渠道听到用户反馈app卡顿&#xff0c;究竟是什么用户觉得卡顿呢&#xff1f;因为大多数手机的屏幕刷新频率是60hz&#xff0c;如果在1000/60…...

黑龙江建设人力资源网站/江苏网站推广

Atitit. Gui控件and面板----程序快速启动区--最佳实践Launchy ObjectDock-o0g 两个方式::: 键盘式::先用热键呼叫出QS&#xff0c;然后开始输入程序中的部分字母,按Enter就 是启动这个程序 鼠标式::mouse左的呼叫出面板,分组,点击启动... 作者:: 老哇的爪子 Attilax 艾龙&a…...

做淘宝客网站要不要备案/自己有域名怎么建网站

目录前言思路CODE:https://www.luogu.com.cn/problem/CF763A前言 写了我一个小时 卧槽 卡死了我了 一开始以为是 并查集缩点然后 dfs枚举 结果WA了 搞得头疼 然后看了一下题解 &#xff1f; &#xff1f; &#xff1f; &#xff1f; 直接枚举就行&#xff1f; 思路 先处理 出来…...

wordpress comment_author_link/seo整站优化什么价格

.properties 配置文件大家应该都很熟悉&#xff0c;键值对嘛&#xff0c;.yml 配置文件栈长也是从 Spring Boot 开始了解到的。那么&#xff0c;这两种格式的配置文件到底有哪些区别呢&#xff1f;哪个更好&#xff1f;能不能替换代替&#xff1f;今天&#xff0c;栈长就来解开…...

网站建设上海公司/黑帽seo工具

Linux_安装 总结: 分区-->格式化-->起一个设备文件名&#xff08;逻辑分区一定从5开始&#xff09;-->指定挂载点&#xff08;必须是空的目录名称作为盘幅&#xff09; posted 2017-01-14 14:08 douzujun 阅读(...) 评论(...) 编辑 收藏...

服务器被攻击怎么办/浙江seo

在sql中当表的某列存在索引时&#xff0c;及时在hint中指定parallel参数&#xff0c;其执行计划都不会采用parallel的方式&#xff0c;仍采用索引访问数据的方式&#xff0c;推测是由于访问索引的过程只能由单进程串行的方式来做。实验过程如下&#xff1a; [oracleyhdb Script…...