使用 .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;
  },
相关推荐
www_stdio12 小时前
让大语言模型拥有“记忆”:多轮对话与 LangChain 实践指南
前端·langchain·llm
inferno12 小时前
JavaScript 基础
开发语言·前端·javascript
cindershade12 小时前
Intersection Observer 的实战方案
前端
青莲84313 小时前
Kotlin Flow 深度探索与实践指南——中部:实战与应用篇
android·前端
cindershade13 小时前
事件委托(Event Delegation)的原理
前端
开发者小天13 小时前
React中useMemo的使用
前端·javascript·react.js
1024肥宅13 小时前
JS复杂去重一定要先排序吗?深度解析与性能对比
前端·javascript·面试
im_AMBER13 小时前
weather-app开发手记 04 AntDesign组件库使用解析 | 项目设计困惑
开发语言·前端·javascript·笔记·学习·react.js
用泥种荷花13 小时前
VueCropper加载OBS图片跨域问题
前端
董世昌4113 小时前
什么是事件冒泡?如何阻止事件冒泡和浏览器默认事件?
java·前端