使用 .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;
  },
相关推荐
leoZ2312 分钟前
金仓老旧项目改造-10
开发语言·前端·人工智能·python·金仓
接着奏乐接着舞13 分钟前
react redux Toolkit 分组更推荐
前端·javascript·react.js
笨笨狗吞噬者21 分钟前
uni-app 运行时揭秘:styleIsolation 的转化
前端·微信小程序·uni-app
是席木木啊43 分钟前
告别console.log!Vue3项目日志框架选型指南
前端·vue3·日志框架
凰轮1 小时前
TypeScript 知识点总结
前端·javascript·typescript
英俊潇洒美少年1 小时前
告别大请求卡顿!原生 CompressionStream 实现 axios 请求体自动 Gzip 压缩(前后端全适配)
前端
|晴 天|1 小时前
Element Plus 组件库实战技巧与踩坑记录
前端·javascript·vue.js·typescript
im_AMBER1 小时前
从面试题看JS变量提升
开发语言·前端·javascript·前端框架
Mintopia1 小时前
不用学微服务,也能设计不崩的系统:最小可行思路
前端
llf_cloud1 小时前
Vue2 项目中的全局自动弹窗队列设计
前端·javascript·vue.js