微信小程序时间戳格式化yyyy-MM-dd

需求

需要对后台传进来的时间戳做格式化处理,类似Java的SimpleDateFormat。

结论

暂时没发现有系统方法支持这种操作,这里建议大家根据需要展示的格式自己定制。
核心就这几个方法,组合也非常灵活。

//获取年
new Date().getFullYear()
//获取月
new Date().getMonth() + 1
//获取天
new Date().getDate()
//获取小时
new Date().getHours()
//获取分钟
new Date().getMinutes()

解决方案

//timeStamp 毫秒级时间戳
function getTimeStrByStamp(timeStamp) {
  let nowTime = new Date()
  let tranTime = new Date(timeStamp)
  let chaTime = nowTime.getTime() - tranTime.getTime();
  let tempValue = 0;
  let distanceTimeStr = "刚刚"
  if (chaTime < 60000) {
    distanceTimeStr = "刚刚";
  } else if (chaTime < 3600000) {
    //小时内 用分钟
    if (chaTime < 60000) {
      distanceTimeStr = "1分钟前";
    } else {
      tempValue = parseInt(chaTime / 60000);
      distanceTimeStr = tempValue + "分钟前";
    }
  } else if (chaTime < 86400000) {
    //1天内 用小时
    if (chaTime < 3600000) {
      distanceTimeStr = "1小时前";
    } else {
      tempValue =parseInt(chaTime / 3600000);
      distanceTimeStr = tempValue+ "小时前";
    }
  } else if (chaTime < 172800000) {
    //2天内
    distanceTimeStr = "昨天 " + tranTime.getHours()+':'+tranTime.getMinutes();
  } else if (chaTime < 259200000) {
    //3天内
    distanceTimeStr = "前天 " + tranTime.getHours()+':'+tranTime.getMinutes();
  } else if (chaTime - 31536299594 < 0) {
    //一年内
    distanceTimeStr = (tranTime.getMonth()+ 1)+'-'+tranTime.getDate()+' '+ tranTime.getHours()+':'+tranTime.getMinutes()
  } else {
    distanceTimeStr = tranTime.getFullYear()+'-'+ (tranTime.getMonth()+ 1)+':'+'-'+tranTime.getDate();
  }
  return distanceTimeStr;
}


module.exports = {
  getTimeStrByStamp,
}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值