使用 .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;
  },
相关推荐
m0_471199634 分钟前
【vue】vue2和vue3响应式原理区别
前端·javascript·vue.js
拜无忧16 分钟前
纯css,顺时针3d旋转基座(摩天轮效应)
前端·css
奋斗猿30 分钟前
从0到1开发跨平台桌面应用:Electron 实战全指南
前端·electron
之恒君32 分钟前
script 标签中的 async 和 defer 的区别
前端·javascript
浪浪山_大橙子35 分钟前
使用Electron+Vue3开发Qwen3 2B桌面应用:从想法到实现的完整指南
前端·人工智能
狗哥哥38 分钟前
聊聊设计模式在 Vue 3 业务开发中的落地——从一次代码重构说起
前端·架构
shenzhenNBA1 小时前
如何在python文件中使用日志功能?简单版本
java·前端·python·日志·log
掘金泥石流1 小时前
分享下我创业烧了 几十万的 AI Coding 经验
前端·javascript·后端
用户47949283569151 小时前
JavaScript 为什么选择原型链?从第一性原理聊聊这个设计
前端·javascript
new code Boy1 小时前
vscode左侧栏图标及目录恢复
前端·javascript