根据天数计算日期

作者分享了在处理A系统时间校验时遇到的问题,通过JavaScript小工具计算2字节时间差,发现与预期相差一天。通过代码实例展示了如何正确解读和计算日期,以解决实际工作中的时间转换问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

根据天数计算日期

好久没更文了,一直在出差,最近也处理了不少问题,感觉都可以写写文章的,但时间不允许,加班太严重,彷佛看到了自己毕业后工作的状态,暗自告诉自己以后要找一个双休的工作!

具体是这样的,A系统以2字节将当前时间发送给我,我获取后进行时间校验,协议规定以2000-01-01为起始时间,即2000-01-02作为第一天,距离当前时间为多少天,然后将days化作U16,但最终我解出来的结果是相差一天。

为了验证是不是我这边出了问题,所以先验证计算结果的正确性,获取到传输的值为0x1111,也就是4369天。
灵机一动,用JS写个小工具吧,好在电脑上还有个EditPlus,写起来还算方便。于是乎有了下面的代码
在这里插入图片描述

然后,运行发现出错。哦,没有运行jquery的js文件,啊电脑不能联网,好吧,只能用DOM操作了,于是乎改成了最原始的操作,如下

<!DOCTYPE html>
<html>
<head>
	<title>计算日期</title>
	<meta charset="utf-8">
</head>
<body>
	
	<span>开始日期:</span><input type="date" id="beginTime"></input>
	<span>计算天数:</span><input type="text" id="days"></input>
	<input type="submit" value="查询" onclick="getEndDate()"><br/><br/>
	<span>结果日期:</span><span id="endTime"></span>


	<script type="text/javascript">
		function getEndDate(){
			console.log("test")
			var beginTime = document.getElementById("beginTime").value

			var day=document.getElementById("days").value

			var time = Date.parse(beginTime) 

			var times = time + 3600000*24*(day-1)

			var endTime =new Date(times).toLocaleString()
			
			document.getElementById("endTime").innerHTML = endTime
		}
	</script>
</body>
</html>

在这里插入图片描述

结果如下,问题得到解决!

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

叫我姜同学

何其幸运遇见你

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值