使用 .toISOString() 方法生成当前时间的ISO格式字符串,解决UTC时区差问题

方法分析:

日常开发中,有时我们需要向后端传递的时间值可能并非一个时间对象,而是字符串格式。

例 1:[2023-08-16T08:07:25.577Z]

但是我们通过 new Date() 之后直接使用 .toString() 方法得到的却并非这种格式。

例 2:Tue Jan 01 2013 00:00:00 GMT+0800 (CST)

方法演示:

我们使用 .toISOString() 可以得到【例1】所示的时间格式,但是此方法返回的总是UTC时区的时间。

现在需要的就是解决时间差的问题,以下是解决方法的代码展示:

复制代码
// 获取当前时间ISO格式字符串
  getCurrentTime() {
    let datetime = new Date();
    let timezoneOffset = datetime.getTimezoneOffset() * 60000; // 获取当前时区与UTC的时间差(以毫秒为单位)
    let localDatetime = new Date(datetime - timezoneOffset); // 调整时间,得到当前时区时间
    let isoString = localDatetime.toISOString();
    return isoString;
  },
相关推荐
阿鑫_9966 分钟前
通用-ESLint+Prettier基础知识
前端·后端
ai超级个体11 分钟前
金三银四,一个面试官连连夸赞的个人网页技术分享
前端·面试·three.js·threejs·网页设计·网页灵感·网页分享
Oneslide12 分钟前
块级元素竖向堆叠且宽度默认会撑满其父容器的可用宽度
前端
i建模17 分钟前
npm使用大全
前端·npm·node.js
李剑一17 分钟前
Cesium 实现园区水景!3 种水面效果,Water 材质 5 分钟搞定
前端·vue.js·cesium
kgduu28 分钟前
js之错误处理
开发语言·前端·javascript
德莱厄斯29 分钟前
Milkup 技术内幕:一个 Typora 风格的即时渲染 Markdown 编辑器是怎样炼成的
前端·javascript·markdown
Mintopia39 分钟前
架构师的心胸:把分歧装进系统,把人放在方案前
前端·架构
亿元程序员39 分钟前
不是说现在AI很牛吗,怎么连个高光Shader效果都写不好?
前端
孟祥_成都43 分钟前
金三银四,一个面试官连连夸赞的个人网页技术分享
前端·面试·three.js