美文网首页
js - 时间转换

js - 时间转换

作者: 梁庄十年 | 来源:发表于2021-10-26 23:04 被阅读0次

1. 本地时间(日期或者毫秒值)转换成UTC时间

 localTimeToUTC(date) {
      let UTC_time = '';
      if(Object.prototype.toString.call(date) === '[object String]') {
        const formated_UTC_time = this.formatedUTCTime(date); // 格式化UTC时间;
        UTC_time = new Date(formated_UTC_time).toISOString();
      } else {
        UTC_time = new Date(date).toISOString();
      }
      return UTC_time;
    },

参数说明:
date: string | number;
参数示例: '2021-10-26 22:49:00' 或者 1635259752769(时间戳);
返回值: string;
返回值示例: 2021-10-26T14:51:03.241Z;

2. UTC时间转本地时间

 UTCToLocalTime(UTC_time, format) {
      const date = new Date(UTC_time);
      const year = date.getFullYear();
      const ori_month = date.getMonth() + 1;
      const month = ori_month < 10 ? `0${ori_month}` :  ori_month;
      const ori_day = date.getDay();
      const day = ori_day < 10 ? `0${ori_day}` : ori_day;

      const ori_hour = date.getHours();
      const hour = ori_hour < 10 ? `0${ori_hour}` : ori_hour;
      const ori_minute = date.getMinutes();
      const minute = ori_minute < 10 ? `0${ori_minute}` : ori_minute;
      const ori_second = date.getSeconds();
      const second = ori_second < 10 ? `0${ori_second}` : ori_second;
      if(format) {
       return format.replace('YYYY', year)
          .replace('MM', month)
          .replace('DD', day)
          .replace('hh', hour)
          .replace('mm', minute)
          .replace('ss', second);
      } else {
        return `${year}-${month}-${day} ${hour}:${minute}:${second}`
      }
    },

参数说明:
UTC_time: string;
format: string
参数示例:
UTC_time: 2021-10-26T14:59:10Z ;
format: 'YYYY-MM-DD hh:mm:ss' 或 'YYYY-MM-DD' 或 'YYYY-MM-DD hh' 或 'YYYY-MM-DD hh:mm'
返回值: string;
返回值示例: 2021-10-26 14:51:03;

3. 日期转毫秒值

    getTimeStamp(dateParams) {
      const formateDate = dateParams.replace(new RegExp('-','gm'), '/');
      const millisecond = new Date(formateDate).getTime();
      return millisecond;
    },

参数说明:
dateParams: string;
参数示例:
dateParams: 2021-10-26 14:59:10.08 或 2021-10-26 14:59 或 2021-10-26 ;
返回值: number;
返回值示例: 1635433226756(number)

4. 格式化UTC时间

 formatedUTCTime(utc_time, customSplitMark) {
      const T_pos = utc_time.indexOf('T');
      const Z_pos = customSplitPos ? utc_time.indexOf(customSplitMark) :  utc_time.indexOf('Z');
      const year_month_day = utc_time.substr(0, T_pos);
      const hour_minute_second = utc_time.substr(T_pos + 1, Z_pos - T_pos - 1);
      return `${year_month_day} ${hour_minute_second}`;
    }

参数说明:
utc_time: string;
customSplitMark: string
参数示例:
utc_time: 2021-10-26T14:59:10.087Z 或 2021-10-26T14:59:10Z ;
customSplitMark: '.'
返回值: string;
返回值示例: 2021-10-26 14:51:03;

5. 过于日期踩过的坑

// 如果是东八区, 获取到的是早上8点的毫秒值;
new Date('yyyy-MM-dd').getTime();  

// 如果是东八区, 获取到的是0点的毫秒值,此处和前一种的区别在于最后加了一个空格;
new Date('yyyy-MM-dd ').getTime(); 

new Date('yyyy-MM-dd hh:mm:ss').getTime(); // 如果是东八区, 获取的是0的毫秒值;

new Date('yyyy-MM-dd 24:00:00').getTime(); // 获取当天24点的毫秒值;

相关文章

  • JS 时间转换

    JS中没有格式化字符串的功能,因此在此整理一下,免得总需要网上查询:我们可以采用给Date添加prototype的...

  • js - 时间转换

    1. 本地时间(日期或者毫秒值)转换成UTC时间 参数说明:date: string | number;参数示例:...

  • js对日期的转换

    ## 前言 不清楚js对日期时间怎么转换的,可以参考以下代码 。 ### js日期格式转换 * 字符串变时间 ``...

  • 《Vue.js实战》学习笔记 -时间转换指令

    Vue.js实战 时间转换指令

  • Js Util工具集

    JSON 数据还原 防止后台JSON转换异常 POST提交 时间转换JS 具体时间转换 精确到秒 具体时间 精确到...

  • JS时间格式转换(今天,昨天,前天)

    参考: javascript时间格式转换(今天,昨天,前天) js时间戳与日期格式之间相互转换

  • 时间戳转换

    由于经常需要用的到时间戳转换,后台传过来的数据可能是时间戳,js需要转换成时间 js方法 functiontoDa...

  • js的时间转换:

    将时间戳转换成Date对象(10位的话直接加三个零) 在调试模式下直接console.log(newDate);即...

  • JS 时间格式转换

    方便自己使用

  • JS 时间格式转换

    ``` 传入的参数格式为 yyyy-MM-dd hh:mm:ss 用正则替换后仅显示天数dd 代码如下 let s...

网友评论

      本文标题:js - 时间转换

      本文链接:https://www.haomeiwen.com/subject/adzyaltx.html