使用 .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;
  },
相关推荐
浩星几秒前
css实现类似element官网的磨砂屏幕效果
前端·javascript·css
一只小风华~4 分钟前
Vue.js 核心知识点全面解析
前端·javascript·vue.js
2022.11.7始学前端8 分钟前
n8n第七节 只提醒重要的待办
前端·javascript·ui·n8n
SakuraOnTheWay10 分钟前
React Grab实践 | 记一次与Cursor的有趣对话
前端·cursor
阿星AI工作室14 分钟前
gemini3手势互动圣诞树保姆级教程来了!附提示词
前端·人工智能
徐小夕16 分钟前
知识库创业复盘:从闭源到开源,这3个教训价值百万
前端·javascript·github
xhxxx28 分钟前
函数执行完就销毁?那闭包里的变量凭什么活下来!—— 深入 JS 内存模型
前端·javascript·ecmascript 6
StarkCoder37 分钟前
求求你试试 DiffableDataSource!别再手算 indexPath 了(否则迟早崩)
前端
fxshy38 分钟前
Cursor 前端Global Cursor Rules
前端·cursor
红彤彤38 分钟前
前端接入sse(EventSource)(@fortaine/fetch-event-source)
前端