JS 计算两个时间戳相差年月日时分秒

// JS 计算两个时间戳相差年月日时分秒
calculateDiffTime(startTime, endTime, type) {
	var runTime = parseInt(endTime - startTime)
	var year = Math.floor(runTime / 86400 / 365)
	runTime = runTime % (86400 * 365)
	var month = Math.floor(runTime / 86400 / 30)
	runTime = runTime % (86400 * 30)
	var day = Math.floor(runTime / 86400)
	runTime = runTime % 86400
	var hour = Math.floor(runTime / 3600)
	runTime = runTime % 3600
	var minute = Math.floor(runTime / 60)
	runTime = runTime % 60
	var second = runTime
	if (type === 1) { // 返回相差年数
		return year + '年'
	} else if (type === 2) { // 返回相差年数月数
		return year + '年' + month + '月'
	} else if (type === 3) { // 返回相差年数月数天数
		return year + '年' + month + '月' + day + '日'
	} else { // 返回相差年数月数天数时分秒
		return year + '年' + month + '月' + day + '日' + hour + '时' + minute + '分' + second + '秒'
	}
},

由以上代码,可计算两个时间戳段相差的年月日时分秒的具体数字,方便使用,如前端显示字段服务期限:1年

若本文有帮助到阅读本文的同学,欢迎点赞、关注、收藏,互相学习交流。

JavaScript 中,将一个 13 位的时间戳转换成年月日时分秒格式,首先需要明确这种时间戳通常是毫秒数而不是完整的日期时间表示,因为 JavaScript 的 Date 对象默认是基于 UTC 或本地时间的毫秒数。但是为了演示,我们将假设这是一个从 1970 年 1 月 1 日(UTC)开始算起的整数毫秒数。 以下是一个简单的步骤: 1. 将 13 位时间戳加上偏移量(如果是毫秒数的话),以便得到自 1970-01-01T00:00:00Z 开始的完整时间戳(以毫秒为单位)。 2. 创建一个新的 Date 对象,传入这个时间戳作为参数。 3. 使用 Date 对象的各种方法获取年、月、日、小时、分钟和秒。 以下是示例代码: ```javascript function convertToDateString(timestamp) { // 如果不是毫秒数,添加毫秒 if (timestamp < 1000) { timestamp *= 1000; } let date = new Date(timestamp); let year = date.getFullYear(); let month = '0' + (date.getMonth() + 1); // January is 0-based let day = '0' + date.getDate(); let hours = '0' + date.getHours(); let minutes = '0' + date.getMinutes(); let seconds = '0' + date.getSeconds(); return `${year}-${month.slice(-2)}-${day.slice(-2)} ${hours.slice(-2)}:${minutes.slice(-2)}:${seconds.slice(-2)}`; } // 示例 let timestamp = 1609459200000; // 这是个13位的假想时间戳,实际上可能需要根据实际情况调整 console.log(convertToDateString(timestamp)); ``` 注意,月份是从 0 开始计数的,所以你需要加 1 来得到正确的月份。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

GoodTimeGGB

鼓励一下!

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

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

打赏作者

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

抵扣说明:

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

余额充值