zoukankan      html  css  js  c++  java
  • 处理格式化时间后 时区误差8小时的问题

     1 function formatTime(mdate, fmt) {
     2 if (fmt == undefined) {
     3 fmt = 'yyyy-MM-dd hh:mm:ss'
     4 }
     5 if (mdate == '') {
     6 return ''
     7 }
     8 var date = new Date((mdate+"").replace("T", " ").replace(/-/g,'/'));   //这里处理的时候需要注意 苹果IOS 不支持 2020-12-10 08:12:30  这种形式转换为Date类型 必须转换为 2020/12/10 08:12:30 的形式
     9 if (/(y+)/.test(fmt)) {
    10 fmt = fmt.replace(RegExp.$1, (date.getFullYear() + '').substr(4 - RegExp.$1.length));
    11 }
    12 let o = {
    13 'M+': date.getMonth() + 1,
    14 'd+': date.getDate(),
    15 'h+': date.getHours(),
    16 'm+': date.getMinutes(),
    17 's+': date.getSeconds()
    18 };
    19 for (let k in o) {
    20 if (new RegExp(`(${k})`).test(fmt)) {
    21 let str = o[k] + '';
    22 fmt = fmt.replace(RegExp.$1, (RegExp.$1.length === 1) ? str : ('00' + str).substr(str.length));
    23 }
    24 }
    25 return fmt;
    26 }

    1.如果时间中间带有T 符号,在转换为时间会多8小时 我们需要首先 将字符串中的T 替换掉

    2.苹果IOS系统不支持 将 2020-12-12 00:00:00 格式的字符串直接转换为时间 必须使用 2020/12/12 00:00:00 形式的字符串转换为时间格式

    所以使用 上面代码框中的方法是可以实现 兼容性的方法

  • 相关阅读:
    设计模式 创建型 抽象工厂
    mysql 案例 ~ 分析执行完的大事务
    mysql 查询优化案例汇总
    mysql 原理 ~ innodb恢复机制
    mysql 原理~ 乐观锁和悲观锁
    mysql 原理 ~ 常规锁
    mysql 5.7 ~ 新特性
    mysql 原理 ~ checkpoint
    mysql原理~undo管理
    mysql原理~undo
  • 原文地址:https://www.cnblogs.com/yaoweijun/p/14244849.html
Copyright © 2011-2022 走看看