js时间、时间戳互转

本文介绍了JavaScript中如何进行时间戳的相互转换,包括UTC和GMT时间格式,以及如何将时间戳转换为可读格式和计算两个时间点的时间差。
摘要由CSDN通过智能技术生成

时间戳时间相互转换工具

链接

时间格式

UTC时间格式
1、2020-01-01T21:30:03+08:00,中间的T标识时间,+08:00为标识东八区时间
或 2023-03-01T13:00:00.000+08:00
2、2019-10-14T13:41:45.223Z
3、Sat Oct 12 2019 14:19:40 GMT 0800 (中国标准时间),该时间是格林尼治时间格式的时间

GMT时间格式
1、Mon Nov 11 2015 08:00:00 GMT+0800 (中国标准时间)

时间转时间戳

let timeStamp=new Date(targetTime).getTime()//不写targetTime即为获取当前时间的时间戳

时间戳转时间

timestampToTime(timestamp){
	// 创建一个Date对象,参数为时间戳乘以1000(转换为毫秒,是毫秒就不用再乘1000)
	let date=new Date(timestamp*1000)
	// 或let date=new Date(timestamp)
	// 使用Date对象的各种方法获取年、月、日、时、分、秒等信息
	let year=date.getFullYear()
	let month=date.getMonth()+1//月份是从0开始计数的,所以要加1
	let day=date.getDate()
	let hour=date.getHours()<10?"0"+date.getHours():date.getHours()
	let minute=date.getHours()<10?"0"+date.getMinutes():date.getMinutes()
	let second=date.getSeconds()<10?"0"+date.getSeconds():date.getSeconds()
	// 拼成需要的时间格式
	let time=year+"-"+month+"-"+day+" "+hour+"-"+minute+"-"+second
	return time
}

计算两个时间的时间差

/**
* 计算两个时间(戳)的时间差
* @param {Number} beginTime 开始时间的时间戳
* @param {Number} endTime 结束时间的时间戳
* @returns {String} xx天xx时xx分xx秒
*/
intervalTime(beginTime,endTime){
	// 两个时间戳相差的毫秒数,不是毫秒要转成毫秒
	let time=endTime-startTime
	// 或let time=(endTime-startTime)/1000
	// 计算相差的天数
	let day=Math.floor(time/(24*3600))
	// 计算天数后剩余的毫秒数
	let msec=time%(24*3600)
	// 计算出小时数
	let hour=Math.floor(msec/3600)
	// 计算小时数后剩余的毫秒数
	let msec2=msec%3600
	// 计算相差分钟数
	let minute=Math.floor(msec2/60)
	let result=day+"天"+hour+"时"+minute+"分"
	return result
}
### 回答1: JavaScript 提供了一些内置的函数和对象可以方便地实现时间时间戳的相互转换。 要将时间戳转换时间,可以使用 JavaScript 的 Date 对象。例如: ``` // 将时间戳转换时间 var timestamp = 1615574400; var date = new Date(timestamp * 1000); // 使用 Date 对象的方法格式化时间 console.log(date.getFullYear() + "-" + (date.getMonth() + 1) + "-" + date.getDate()); // 2021-3-31 ``` 要将时间转换时间戳,可以使用 Date 对象的 `getTime()` 方法。例如: ``` // 将时间转换时间戳 var date = new Date("2022-12-17T00:00:00"); var timestamp = Math.floor(date.getTime() / 1000); console.log(timestamp); // 1675446400 ``` 注意,JavaScript时间戳是以毫秒为单位的,如果要将其转换为以秒为单位的时间戳,需要使用数学函数 `Math.floor()` 对时间戳进行取整。 另外,还可以使用 JavaScript 的 `toISOString()` 方法将时间转换为 ISO 格式的字符串,再使用正则表达式截取其中的时间戳。例如: ``` // 将时间转换为 ISO 格式的字符串 var date = new Date("2022-12-17T00:00:00"); var isoString = date.toISOString(); // 使用正则表达式截取时间戳 var timestamp = isoString.match(/\d{10}/g)[0]; console.log(timestamp); // 1675446400 ``` 希望这些信息能帮到你! ### 回答2: JavaScript中可以使用Date对象进行时间时间戳之间的转换。 1. 将时间转换时间戳: 要将一个特定的时间转换时间戳,可以使用Date对象的getTime()方法。该方法返回的是一个自1970年1月1日以来经过的毫秒数。例如,可以使用下面的代码将当前时间转换时间戳: ``` var timestamp = new Date().getTime(); ``` 2. 将时间戳转换时间: 要将一个时间戳转换时间,可以使用Date对象的构造函数,将时间戳作为参数传入。然后,可以使用该对象的各种方法(例如getFullYear()、getMonth()、getDate()等)来获取年、月、日、时、分、秒等信息。例如,可以使用下面的代码将一个时间戳转换时间: ``` var timestamp = 1609459200000; // 2021年1月1日的时间戳 var date = new Date(timestamp); console.log(date); ``` 以上代码将打印出:Fri Jan 01 2021 08:00:00 GMT+0800 (中国标准时间) 需要注意的是,JavaScript中的时间戳是以毫秒为单位的,而不是以秒为单位的。所以在进行时间戳转换时,需要确保使用正确的单位。 总结起来,通过Date对象的getTime()方法可以将时间转换时间戳,通过Date对象的构造函数可以将时间戳转换时间。 ### 回答3: JavaScript时间时间戳之间的相互转换非常简单。时间戳是指从1970年1月1日00:00:00格林威治标准时间(UTC)开始经过的毫秒数。而JavaScript的Date对象表示一个特定的日期和时间。 要将时间戳转换JavaScript的Date对象,可以使用Date的构造函数。例如,将时间戳1234567890转换为Date对象的代码如下: ```javascript var timestamp = 1234567890; var date = new Date(timestamp); ``` 这样就可以得到表示时间戳对应日期和时间的Date对象。 相反,要将JavaScript的Date对象转换时间戳,可以使用Date对象的getTime()方法。该方法返回自1970年1月1日00:00:00 UTC到指定日期和时间之间经过的毫秒数。例如,将Date对象转换时间戳的代码如下: ```javascript var date = new Date(); var timestamp = date.getTime(); ``` 这样就可以得到表示指定Date对象对应的时间戳。 总之,要在JavaScript中进行时间时间戳之间的转换,可以使用Date对象的构造函数将时间戳转换为Date对象,或者使用Date对象的getTime()方法将Date对象转换时间戳。这两种方法对于时间时间戳之间的转换非常方便。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值