js时间换算

1、根据HH::mm:ss以及提前或延迟的分钟数得出具体时间及偏移量

timeString格式为HH:mm:ssminutesOffset有正负,正代表延后,负代表提前;返回值中dayOffset表示偏移量,0表示当天,1表示次日,-1表示前一天

function adjustTime (timeString, minutesOffset) {// 解析时间字符串console.log(timeString);let parts = timeString.split(":");let hours = parseInt(parts[0]);let minutes = parseInt(parts[1]);// 添加分钟偏移量minutes += minutesOffset;// 计算小时和分钟的调整值let hourAdjustment = Math.floor(minutes / 60);let minuteAdjustment = minutes % 60;// 处理负数分钟偏移if (minutes < 0) {minuteAdjustment += 60;}// 处理跨天情况let dayOffset = Math.floor((hours + hourAdjustment) / 24);// 计算调整后的小时和分钟hours = (hours + hourAdjustment + 24) % 24;minutes = (minutes + 1440) % 60; // 1440 分钟等于一天// 格式化小时和分钟let adjustedHours = (hours < 10 ? "0" : "") + hours;let adjustedMinutes = (minutes < 10 ? "0" : "") + minutes;// 构造调整后的时间字符串let adjustedTime = adjustedHours + ":" + adjustedMinutes; // + ":" + parts[2]// 返回调整后的时间字符串及跨天数return { time: adjustedTime, dayOffset: dayOffset };
}// adjustTime("09:00:00", -45) 返回 { time: '08:15:00', dayOffset: 0 }
// adjustTime("09:00:00", -600) 返回 { time: '23:00:00', dayOffset: -1 }
// adjustTime("18:00:00", 45) 返回 { time: '18:45:00', dayOffset: 0 }
// adjustTime("18:00:00", 400) 返回 { time: '00:40:00', dayOffset: 1 }

2、根据HH::mm:ss以及偏移量得出从0点到特定时间的秒数

timeString格式为HH:mm:ssdayOffset表示偏移量,0表示当天,1表示次日,-1表示前一天,返回值如果为负数表示前一天,大于86400表示次日

function timeToSeconds (timeString, dayOffset) {// 解析时间字符串let parts = timeString.split(":");let hours = parseInt(parts[0]);let minutes = parseInt(parts[1]);let seconds = parts[2] ? parseInt(parts[2]) : 0;// 计算总秒数let totalSeconds = hours * 3600 + minutes * 60 + seconds;// 考虑跨天情况的偏移量totalSeconds += dayOffset * 24 * 3600;return totalSeconds;
}// timeToSeconds("08:00:00", 0) 返回 28800
// timeToSeconds("23:30:00", -1) 返回 -1800
// timeToSeconds("01:00:00", 1) 返回 90000

3、根据从0点到特定时间的秒数得出具体的时间跟偏移量

function secondsToTime (totalSeconds) {let dayOffset = 0;// 如果是负数,将秒数转换为正数,并调整 dayOffsetif (totalSeconds < 0) {totalSeconds += 86400; // 一天的秒数dayOffset = -1;} else if (totalSeconds >= 86400) {totalSeconds -= 86400; // 一天的秒数dayOffset = 1;}// 计算总的分钟数和秒数let totalMinutes = Math.floor(totalSeconds / 60);let totalSecondsRemain = totalSeconds % 60;// 计算总的小时数和分钟数let totalHours = Math.floor(totalMinutes / 60);let totalMinutesRemain = totalMinutes % 60;// 格式化为 HH:mm:ss 格式的字符串let timeString = `${formatTime(totalHours)}:${formatTime(totalMinutesRemain)}`; // :${formatTime(totalSecondsRemain)}return { time: timeString, dayOffset: dayOffset };
}// secondsToTime(32400) 返回 { time: '09:00:00', dayOffset: 0 }
// secondsToTime(-1800) 返回 { time: '23:30:00', dayOffset: -1 }
// secondsToTime(88200) 返回 { time: '00:30:00', dayOffset: 1 }

4、计算两个时间HH:mm:ss 相差的分钟数

function calculateTimeDifference (time1, time2) {// 将时间字符串转换为秒数const time1Seconds = convertToSeconds(time1);const time2Seconds = convertToSeconds(time2);// 计算时间差const timeDifferenceSeconds = Math.abs(time1Seconds - time2Seconds);// 转换为分钟数const minutesDifference = Math.floor(timeDifferenceSeconds / 60);return minutesDifference;
}

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

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

相关文章

【数据结构】树与二叉树——二叉树的概念

二叉树的概念 导读一、二叉树的定义及其主要特性1.1 二叉树的定义1.2 二叉树的主要特性 二、特殊的二叉树2.1 满二叉树2.2 完全二叉树2.3 二叉排序树2.4 平衡二叉树 三、二叉树的性质3.1 性质一3.2 性质二3.3 性质三3.4 性质四3.5 性质五 结语 导读 大家好&#xff0c;很高兴又…

C# 生成解决方案时出现的一些异常及解决方法

一、ResolveAssemblyReference任务意外失败 在使用VS2022生成C#解决方案时&#xff0c;出现如下错误&#xff1a; 解决方法&#xff1a; 项目的依赖项出现问题&#xff0c;重新更新一下依赖项即可 二、生成Win32资源时出错 产生这个原因的主要原因是配置的应用程序的图标文…

一个 python+tensorFlow训练1万张图片分类的简单直观例子( 回答由百度 AI 给出 )

问题&#xff1a;给定一个文件夹 train_images&#xff0c;里面有10000张30*30像素的灰度值图片&#xff0c;第1~第10000张图片的名称分别为 00001.png、 00002.png、... 09999.png、10000.png,train_images 下面还有一个 image_category_map.txt文件&#xff0c; 文件的内容…

04.docker的主要组成部分

docker体验 docker是传统的CS架构分为docker client和docker server,跟mysql一样 查看版本命令&#xff1a;docker version 查看docker下载的是社区版,ce代表社区 rpm -qa |grep docker 查看docker系统命令 docker system docker info&#xff08;如果要做监控&#xff…

黄仁勋的AI时代:英伟达GPU革命的狂欢与挑战

在最近的COMPUTEX 2024大会上&#xff0c;英伟达创始人黄仁勋发布了最新的Blackwell GPU。这次发布不仅标志着英伟达在AI领域的又一次飞跃&#xff0c;也展示了其对未来技术发展的战略规划。本文将详细解析英伟达最新技术的亮点&#xff0c;探讨其在AI时代的市场地位和未来挑战…

【UE5 刺客信条动态地面复刻】实现无界地面01:动态生成

2024.6.4更新 昨天半夜意识到生成Cube的方案不合适&#xff0c;又开始到处找动态地面的方法&#xff0c;发现了我想要的效果直接可以用nigara实现&#xff01;&#xff01;&#xff01;&#xff01; 于是这个部分就暂时告一段落&#xff0c;今季开始新的方向的学习。 为了快速…

thingsboard告警发送邮件的最新方式

ThingsBoard3.2及以上版本引入警报规则进行简化配置过程而无需通过规则引警进行配置只需要使用”Device Profile”即可&#xff0c;因为在以前的版本中需要一定的编程技巧才能完成。 新的报警发送邮件如下图流程&#xff0c;重点是增加customer details,配置Select details&am…

程序员的灵魂究竟是什么

程序员应该有什么职业素养&#xff1f; 我们曾经都认为自己是世界的中心 我们曾经都认为自己不是世界的中心 我们终究会认为自己是自己世界的中心 方向一&#xff1a;沟通能力 能说让对方听懂的话&#xff0c;能听懂对方的话&#xff0c;能转达其他人的话 方向二&#xff1a;…

wpf窗体背景添加径向渐变效果实现

<Window.Background> <!--镜像渐变--> <RadialGradientBrush Center"0.5,0" GradientOrigin"0.5,-0.5" RadiusX"0.7" RadiusY"1.2"> <GradientStop Color"#ff61baff" Offset"0&q…

争当大模型时代基础设施,大厂打响大模型价格战

大模型的价格正在进入一个比低更低的时代。只是&#xff0c;让价格成为竞争主导因素&#xff0c;是否会有些操之过急&#xff1f;本文作者分享了他的观点和分析&#xff0c;一起来看。 似乎&#xff0c;每一家厂商都有一个成为大模型时代基础设施的梦想&#xff0c;为此&#x…

递归出java实体类中所有带@Schema注解且有复杂类型属性List<T>泛型类型

一、问题描述&#xff1a; Excel表格导出实体类中所需要的字段&#xff0c;在不借助数据库字典表存储字段的情况下&#xff0c;且实体类属性中除去基本类型外还有List<T>复杂类型&#xff0c;如何实现&#xff1f; 二&#xff1a;问题分析&#xff1a; 核心问题1&…

Pandas读取文本文件为多列

要使用Pandas将文本文件读取为多列数据&#xff0c;你可以使用pandas.read_csv()函数&#xff0c;并通过指定适当的分隔符来确保正确解析文件中的数据并将其分隔到多个列中。 假设你有一个以逗号分隔的文本文件&#xff08;CSV格式&#xff09;&#xff0c;每一行包含多个值&a…

SpringBoot注解--06--JSRValidatorUtil

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 Spring Validation数据校验Spring ValidationSpring 提供的数据校验方式&#xff1a;依赖引入&#xff1a;Spring Validation常用的注解 手动校验&#xff1a;通过 …

表 ,索引的 degree 检查, trim(degree) default INSTANCES

检查degree >1 的 select substr(owner,1,15) Owner , ltrim(degree) Degree, ltrim(instances) Instances, count(*) "Num Tables" , Parallel from dba_tables where ( trim(degree) > 1 ) and table_name not like ET$% group by owner, degree , ins…

电商平台接口|获取价格数据,做好竞品分析

京东获得JD商品详情 API返回值说明 item_get-获得JD商品详情 jd.item_get 公共参数 名称类型必须描述keyString是调用key&#xff08;必须以GET方式拼接在URL中&#xff09;secretString是调用密钥api_nameString是API接口名称&#xff08;包括在请求地址中&#xff09;[it…

Springboot 在线学习交流平台-计算机毕业设计源码46186

摘 要 随着科学技术的飞速发展&#xff0c;社会的方方面面、各行各业都在努力与现代的先进技术接轨&#xff0c;通过科技手段来提高自身的优势&#xff0c;在线学习交流平台当然也不能排除在外。在线学习交流平台是以实际运用为开发背景&#xff0c;运用软件工程原理和开发方法…

飞睿uwb定位tag防丢器,蓝牙智能防丢器原理,支持苹果IOS的本地防丢查找

在当今这个快节奏的社会&#xff0c;人们的注意力经常被各种琐事分散&#xff0c;丢三落四的情况时有发生。随着科技的发展&#xff0c;智能防丢器应运而生&#xff0c;成为帮助我们解决这一烦恼的助手。今天&#xff0c;我们就来深入探讨一款备受瞩目的智能防丢产品——飞睿UW…

CDH6.3.2安装文档

前置环境&#xff1a; 操作系统&#xff1a; CentOS Linux release 7.7 java JDK &#xff1a; 1.8.0_231 1、准备工作 准备以下安装包&#xff1a; Cloudera Manager: cloudera-manager-agent-6.3.1-1466458.el7.x86_64.rpm cloudera-manager-daemons-6.3.1-1466458.el…

视频号小店是什么?没有货源可以去做吗?一篇详解!

大家好&#xff0c;我是电商小V 视频号小店近两年在创业者眼中可以说是一个可以去操作的项目&#xff0c;也是可以激起来很高的讨论度&#xff0c;但是很多小伙伴对视频号小店了解不是很深&#xff0c;今天咱们就来详细的说一下&#xff1a;视频号小店&#xff0c; 视频号小店就…

鸿蒙Ability Kit(程序框架服务)【ServiceExtensionAbility】

ServiceExtensionAbility 概述 [ServiceExtensionAbility]是SERVICE类型的ExtensionAbility组件&#xff0c;提供后台服务能力&#xff0c;其内部持有了一个[ServiceExtensionContext]&#xff0c;通过[ServiceExtensionContext]提供了丰富的接口供外部使用。 本文描述中称被…