时间转换函数【持续更新】

时间转换函数

持续更新
在这里插入图片描述

1. 获取当前时间戳

+new Date()

2. 获取中国标准时间格式

new Date()

3. 格式化时间

2023/11/14更新:
这个t=new Date() 标准时间格式和 t=+new Date()时间戳的格式都可以转换成想要的年月日+时分秒格式
两个参数,第一个是时间,第二个是想要输出的格式,默认是2023-11-14
如果想要年月日时分秒就这样写:formatDate(new Date(),'yyyy-MM-dd hh:mm:ss')

 function formatDate(t, format = 'yyyy-MM-dd') {
            if (t == '' || t <= 0 || t == null || t == 'null') {
                return '';
            }
            if (typeof t == 'string') {
                t = t.replace(new RegExp(/-/gm), "/");
            }
            const d = new Date(t);
            const o = {
                "M+": d.getMonth() + 1,
                // month
                "d+": d.getDate(),
                // day
                "h+": d.getHours(),
                // hour
                "m+": d.getMinutes(),
                // minute
                "s+": d.getSeconds(),
                // second
                "q+": Math.floor((d.getMonth() + 3) / 3),
                // quarter
                "S": d.getMilliseconds()
                // millisecond
            };
            if (/(y+)/.test(format) || /(Y+)/.test(format)) {
                format = format.replace(RegExp.$1, (d.getFullYear() + "")
                    .substr(4 - RegExp.$1.length));
            }
            for (let k in o) {
                if (new RegExp("(" + k + ")").test(format)) {
                    format = format.replace(RegExp.$1, RegExp.$1.length == 1 ? o[k]
                        : ("00" + o[k]).substr(("" + o[k]).length));
                }
            }
            return format;
        }
2023-02-23 格式

输入:中国标准时间
输出:2023-02-23 格式

    // 输入:中国标准时间
    // 输出:2023-02-23 格式
    function timestampToTime (date) {
      const Y = date.getFullYear() + '-'
      const M =
        (date.getMonth() + 1 < 10
          ? '0' + (date.getMonth() + 1)
          : date.getMonth() + 1) + '-'
      const D =
        (date.getDate() < 10 ? '0' + date.getDate() : date.getDate()) + ' '
      return Y + M + D
    }
2023-02-23 17:22:57 格式

输入:中国标准时间
输出:2023-02-23 17:22:57 格式

    // 输入:中国标准时间
    // 输出:2023-02-23 17:22:57 格式
    function timestampToTimeWith () {
      var date = new Date();
      var Y = date.getFullYear() + '-';
      var M = (date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1) + '-';
      var D = (date.getDate() < 10 ? '0' + date.getDate() : date.getDate()) + ' ';
      var h = (date.getHours() < 10 ? '0' + date.getHours() : date.getHours()) + ':';
      var m = (date.getMinutes() < 10 ? '0' + date.getMinutes() : date.getMinutes()) + ':';
      var s = date.getSeconds() < 10 ? '0' + date.getSeconds() : date.getSeconds();
      return Y + M + D + h + m + s;
    }
2023-02-23 17:22:57 格式转换输出为2023年2月
function getYearMonth (t) {
      ti = t.split('-')
      let year = ti[0]
      let month = +ti[1]
      return year + '年' + month + '月'
    }
console.log(getYearMonth('2023-03-01'));
时间戳转换为2023-11-1格式

输入:时间戳
输出:2023-11-1

// 格式化时间函数
// 输入:中国标准时间
// 输出:2023-02-23 格式
function timestampToTime(timestamp) {
    let date = new Date(parseInt(timestamp));
    let Year = date.getFullYear();
    let Moth = (date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1);
    let Day = (date.getDate() < 10 ? '0' + date.getDate() : date.getDate());
    let GMT = Year + '-' + Moth + '-' + Day + '   '
    return GMT
}

4.计算时间

使用时间戳计算距离现在的时间有多久
  • 输入:时间戳
    输出: 刚刚/m分钟前/h小时前/1天前
     // 输入:时间戳
    // 输出: 刚刚/m分钟前/h小时前/1天前
    function formatTime (time, option) {
      if (('' + time).length === 10) {
        time = parseInt(time) * 1000
      } else {
        time = +time
      }
      const d = new Date(time)
      const now = Date.now()

      const diff = (now - d) / 1000

      if (diff < 30) {
        return '刚刚'
      } else if (diff < 3600) {
        // less 1 hour
        return Math.ceil(diff / 60) + '分钟前'
      } else if (diff < 3600 * 24) {
        return Math.ceil(diff / 3600) + '小时前'
      } else if (diff < 3600 * 24 * 2) {
        return '1天前'
      }
      if (option) {
        return parseTime(time, option)
      } else {
        return (
          d.getMonth() +
          1 +
          '月' +
          d.getDate() +
          '日' +
          d.getHours() +
          '时' +
          d.getMinutes() +
          '分'
        )
      }
    }
获取两个日期之间的天数差
  • 输入:两段时间戳(任意两段时间戳)
    输出: x (天数差)
// 输入:两段时间戳(任意两段时间戳)
    // 输出: x    (天数差)
    function getTimeDay (timeStart, timeEnd) {
      let t = parseInt((timeStart - timeEnd) / (24 * 60 * 60 * 1000))
      //
      t = t < 0 ? -t : t
      return t
    }
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一个大萝北

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值