时间戳格式化函数

/**
 * 时间戳格式化函数
 * @param  {string} format    格式
 * @param  {string}    timestamp 要格式化的时间 默认为当前时间
 * @return {string}           格式化的时间字符串
 */
function timeShift(timestamp, format) {
  if (!timestamp) {
    return '';
  }
  if (typeof timestamp === "string") {
    timestamp = parseInt('' + timestamp);
  }
  // 如果时间戳后不是毫秒值就加000,变成毫秒值
  // if (val && val.length == 10) { val = parseInt(val+'000'); }
  if (timestamp && timestamp.toString().length !== 13) {
    if (timestamp && timestamp.toString().length === 10) {
      timestamp = parseInt(timestamp + '000');
    }
    for (let i = 0; i < 13; i++) {
      if (timestamp.toString().length === i) {
        timestamp = parseInt('' + timestamp * (10 ^ (13 - i)));
      }
    }
  }
  let date = new Date(timestamp);
  let o = {
    "M+": date.getMonth() + 1,                 //月份
    "d+": date.getDate(),                    //日
    "H+": date.getHours(),                   //小时
    "m+": date.getMinutes(),                 //分
    "s+": date.getSeconds(),                 //秒
    "q+": Math.floor((date.getMonth() + 3) / 3), //季度
    "S": date.getMilliseconds()             //毫秒
  };
  if (/(y+)/.test(format)) {
    format = format.replace(RegExp.$1, (date.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;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值