js各种时间格式的转换
js 各种时间格式的转换
时间格式⽰例
中国标准时间Fri Mar 18 2022 14:24:45 GMT+0800(中国标准时间)
部分可读字符串Fri Mar 18 2022
格林威治时间Fri,18 Mar 2022 06:24:45 GMT
现在⽤的时间标准UTC Fri Mar 18 2022 06:24:45 GMT
IOS标准时间(JSON时间格式)2022-03-18T06:24:45.061Z
常见时间格式2022-03-18 14:24:45
注意:UTC时间不等于GMT时间
GMT:Greenwich Mean Time
格林尼治标准时间。这是以英国格林尼治天⽂台观测结果得出的时间,这是英国格林尼治当地时间,这个地⽅的当地时间过去被当成世界标准的时间。
UT:Universal Time 世界时。根据原⼦钟计算出来的时间。
UTC:Coordinated Universal Time
协调世界时。因为地球⾃转越来越慢,每年都会⽐前⼀年多出零点⼏秒,每隔⼏年协调世界时组织都会给世界时+1秒,让基于原⼦钟的世界时和基于天⽂学(⼈类感知)的格林尼治标准时间相差不⾄于太⼤。并将得到的时间称为UTC,这是现在使⽤的世界标准时间。
协调世界时不与任何地区位置相关,也不代表此刻某地的时间,所以在说明某地时间时要加上时区
也就是说GMT并不等于UTC
获取时间
var newDate =new Date();
console.log('newDate',newDate)
/
/Fri Mar 18 2022 14:24:45 GMT+0800(中国标准时间)
1.把 Date 对象的⽇期部分转换为可读字符串:
console.log('toDateString',DateString());
// Fri Mar 18 2022
2.根据格林威治时间(GMT)把 Date 对象转换为字符串(需注意的是)
console.log('toGMTString',GMTString());
// Fri,18 Mar 2022 06:24:45 GMT
不建议使⽤,因为此⽇期会在转换为字符串之前由本地时区转换为GMT时区。
例如:传⼊具体时间
var localDate=new Date('July 21, 1983 01:15:00')
console.GMTString())
/
/ Wed, 20 Jul 1983 17:15:00 GMT
输出的时间会和传⼊的时间有时差
3.使⽤ISO标准返回 Date 对象的字符串格式:
3.使⽤ISO标准返回 Date 对象的字符串格式:
console.log('toISOString',ISOString());
// 2022-03-18T06:24:45.061Z
4.将 Date 对象转换为字符串,并格式化为JSON数据格式。
console.log('toJSON',JSON());
// 2022-03-18T06:24:45.061Z
5.根据本地时间把 Date 对象的⽇期部分转换为字符串:
console.log('toLocaleDateString',LocaleDateString()); // 2022/3/18
6.根据本地时间把 Date 对象转换为字符串:
console.log('toLocaleString',LocaleString());
// 2022/3/18 下午2:24:45
7.根据本地时间把 Date 对象的时间部分转换为字符串:
console.log('toLocaleTimeString',LocaleTimeString()); // 下午2:24:45
8. Date 对象转换为字符串。
console.log('toString',String());
// Fri Mar 18 2022 14:24:45 GMT+0800(中国标准时间)
9.把 Date 对象的时间部分转换为字符串:
console.log('toTimeString',TimeString());
// 14:24:45 GMT+0800(中国标准时间)
10.根据世界时(UTC)把 Date 对象转换为字符串:
console.log('toUTCString',UTCString());
//  Fri Mar 18 2022 06:24:45 GMT
⽇期转时间戳
var date =new Date();// 当前时间
console.log('date',date)
三种⽅法:
var time1 = Time();
var time2 = date.valueOf();
var time3 = Date.parse(date);
console.log('time1',time1)
console.log('time2',time2)
console.log('time3',time3)
注意:如果是⽤JSON格式的时间去转换时间戳的话,获取的时间有相差
var date =new Date('2022-03-16T16:00:00.000Z');// 当前时间
console.log('date',date)
var time1 = Time();
var time2 = date.valueOf();
var time3 = Date.parse(date);
console.log('time1',time1)
console.log('time2',time2)
console.log('time3',time3)
时间戳转⽇期
function add0(m){return m<10?'0'+m:m }
function format(shijianchuo)
{
//shijianchuo是整数,否则要parseInt转换
var time =new Date(shijianchuo);//时间戳为10位需*1000,时间戳为13位的话不需乘1000
var y = FullYear();
var m = Month()+1;
var d = Date();
var h = Hours();
var mm = Minutes();
var s = Seconds();
return y+'-'+add0(m)+'-'+add0(d)+' '+add0(h)+':'+add0(mm)+':'+add0(s);
}
但是如果是‘2022-03-16T16:00:00.000Z’这种时间格式的话,上⾯那种⽅式获取的时间有误可以试试这种⽅法
var time ='2022-03-16T16:00:00.000Z'
time = place(/-/,'年')
time = place(/-/,'⽉')
time = place(/T/,'⽇')
let times = time.split('.')
console.log(times[0])
//2022年03⽉16⽇16:00:00
如果是vue2的项⽬的话,你可以封装⼀个过滤器
// 封装项⽬中需要使⽤到的过滤器
import moment from'moment'
// 1.时间⽇期过滤器
// 参数说明:不管是否传递了参数,都会有⼀个默认参数,就是管道符前⾯的数据// 意味着⽤户参数从参数列表的第⼆个开始
export const dateFormat =(data, spe ='-')=>{
return moment(data).format('YYYY-MM-DD HH:mm:ss')
}
引⼊
import{ dateFormat }from'@/utils/myfilters.js'
定义
filters:{
dateFormat
},
使⽤
<div class="time">{{currentUser.date | dateFormat}}</div>
完结啦
喜欢的留下你的⼩脚丫!
>vuejson转对象

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。