JS中格式化中间带 T 的日期-时间字符串 datetime string
项目场景:开发中,后台传给前台了一串类似这样格式的日期-时间字符串:2020-09-10T07:36:51.000+0000直接显示出来肯定不符合需求,我们需要把它格式化成北京时间。问题分析:这串日期-时间其实已经有我们需要的所有信息了,我们一块一块地分析一下:2020-09-15,这个是日期。10:30:20.000,这个是精确到毫秒的时间。0000,这个是提示时区。T,提示日期与时间的分界线+
·
项目场景:
开发中,后台传给前台了一串类似这样格式的日期-时间字符串:
2020-09-10T07:36:51.000+0000
直接显示出来肯定不符合需求,我们需要把它格式化成北京时间。
问题分析:
这串日期-时间其实已经有我们需要的所有信息了,我们一块一块地分析一下:
- 2020-09-15,这个是日期。
- 10:30:20.000,这个是精确到毫秒的时间。
- 0000,这个是提示时区。
- T,提示日期与时间的分界线
- +,提示时间与时区的分界线
现在我们知道,如果我们直接parse这个字符串,得到的也不是北京东八区的时间,所幸JS中有直接封装好的格式化代码,不需要我们考虑如何加减时间、日期了。
解决方案:
直接调用JS的方法:
let date = "2020-09-10T07:36:51.000+0000"
var dateString = new Date(date)
// 注意js里面的getMonth是从0开始的
let FormattedDateTime =
dateString.getFullYear() + '-' +
(dateString.getMonth() + 1) + '-' +
dateString.getDate() + ' ' +
dateString.getHours() + ':' +
dateString.getMinutes() + ':' +
dateString.getSeconds();
console.log(FormattedDateTime);
// 2020-9-10 15:36:51
这样我们就得到北京时间了!
更多推荐
已为社区贡献1条内容
所有评论(0)