JavaScript中几种时间格式之间的简单转换
作者:V-Velaciela
近期在练习或写项目时经常会遇到时间格式的转换问题,今天我就来总结一下,这篇文章主要给大家介绍了关于JavaScript中几种时间格式之间的简单转换,需要的朋友可以参考下
日期对象
获取当前中国标准时间
console.log(new Date()) //Wed Nov 15 2023 12:16:39 GMT+0800 (中国标准时间)
时间戳
将当前中国标准时间转换为时间戳。
13位是以毫秒为单位
console.log(new Date().getTime()) //1700021927186
获取当天的零点
setHours(0, 0, 0, 0)方法返回的是毫秒
console.log(new Date().setHours(0, 0, 0, 0)) //1699977600000
当前日期的ISO格式字符串或称UTC时间(国际统一时间)
ISO格式字符串是一国际标准的日期和时间表示法,它的格式为YYYY-MM-DDThh:mm:ss.xxxZ,其中T表示时间分隔符,Z表示时区偏移量UTC。如果日期对象没有设置时区,则返回的字符串中时区偏移量为0。
tolsOString()方法会自动将日期对象转换为UTC时间。UTC时间是一种标准的时间表示法,它不受时区的影响,因此可以在不同的时区之间进行比较和计算。
UTC时间相差北京时间8小时,比如2023-01-13T16:00:00.000Z,对应的北京时间:2023-01-14 00:00:00;20100607T152000+08。其中 “+08” 表示东八区。
console.log(new Date().toISOString()) //2023-11-14T16:00:00.000Z
我这有个需求,后端让我返给他这样的时间格式:2023-11-14T16:00:00Z,因此我用了个拼接字符串
console.log(new Date().toISOString().slice(0,-5) + 'Z' )
附:JS获取UTC时间及各时区本地时间
为什么要获取UTC时间:因为本地时间可以修改,修改后获取的就是错误的,所以要获取一个统一标准时间
function getLocalTime(i){ var d = new Date(); var len = d.getTime(); //本地时间与UTC时间的时间偏移差 var offset = d.getTimezoneOffset() * 60000; //得到现在的UTC时间,各时区UTC时间相同 var utcTime = len + offset; //得到时区标准时间 return new Date(utcTime + 3600000 * i); //得到UTC时间戳 //return new Date(utcTime).getTime(); //得到时区时间戳 // return new Date(utcTime + 3600000 * i).getTime(); } console.log("东八区-北京时间:" + getLocalTime(8)); //东八区-北京时间:Wed May 25 2022 10:10:32 GMT+0800 (中国标准时间) console.log("西八区-太平洋时间(美国和加拿大):" + getLocalTime(-8)); //西八区-太平洋时间(美国和加拿大):Tue May 24 2022 18:10:32 GMT+0800 (中国标准时间) // i:要得到那个时区的时间就传几,东区为正数,西区为负数
总结
到此这篇关于JavaScript中几种时间格式之间的简单转换的文章就介绍到这了,更多相关JS时间格式转换内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!