使用 .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;
  },
相关推荐
程序员小易3 小时前
前端轮子(1)--前端部署后-判断页面是否为最新
前端·vue.js·node.js
xiaoxue..3 小时前
列表转树结构:从扁平列表到层级森林
前端·javascript·算法·面试
小oo呆3 小时前
【自然语言处理与大模型】LangChainV1.0入门指南:核心组件Agent
前端·javascript·easyui
Hao_Harrision4 小时前
50天50个小项目 (React19 + Tailwindcss V4) ✨ | DrawingApp(画板组件)
前端·react.js·typescript·tailwindcss·vite7
dly_blog4 小时前
Vite 原理与 Vue 项目实践
前端·javascript·vue.js
仅此,4 小时前
前端接收了id字段,发送给后端就变了
java·前端·javascript·spring·typescript
Lovely Ruby4 小时前
[前端] 封装一下 echart 6,发布到 npm
前端·npm·node.js
BD_Marathon4 小时前
NPM_常见命令
前端·npm·node.js
绿鸳4 小时前
12.17面试题
前端
Huanzhi_Lin4 小时前
禁用谷歌/google/chrome浏览器更新
前端·chrome