使用 .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;
  },
相关推荐
用户9210802628617 小时前
AI 对话里的消息时间线分页:上滑加载更多历史记忆的实现与坑点
前端
PedroQue9917 小时前
Vue-Router 2.4.0 新增可控重定向功能
前端·uni-app
阿萨德528号17 小时前
npm 包发布实战指南:从零发布、更新迭代到版本治理
前端·npm·策略模式
IT_陈寒17 小时前
Vue的v-for为啥把我的渲染顺序搞乱套了?
前端·人工智能·后端
sir.山18 小时前
在 Vue 3 项目中使用 Mock 数据
前端·vue.js·vue3·vite
李剑一18 小时前
华为新上Pura X View阔直板手机,特殊屏幕比例设备下,前端应该怎么去适配更完美?送你一套完整工具代码
前端
0xBADCODE18 小时前
Flask SSTI读SECRET_KEY+伪造Session:税务系统渗透全流程
前端·后端·python·安全·web安全·网络安全·flask
01_ice18 小时前
html个人简历展示
前端·html
程序员爱钓鱼18 小时前
Rust where详解:让泛型与Trait约束更加清晰
前端·后端·rust
zzzzzz31019 小时前
react-bits 为什么会吸引前端开发者:别把动效当装饰,先把它当成页面能力
前端·react.js·动效