微信小程序-仿QQ空间时间显示(今天/昨天/前天)

功能说明:

根据传入的的开始时间和结束时间,返回处理后的时间

【不同年份】:   2022年12月31日 12:20

【同年不同月】:12月31日 12:20

【同年同月】: 12月31日 12:20

        【同一天】 12:20

        【差一天】 昨天 12:20

        【差两天】 前天 12:20

        【其余情况】: 12月31日 12:20

代码具体实现很简单,未避免重复造轮子,分享一下代码。

一.代码部分

        1.timer.js

//返回显示时间
function cutYear(date){
  return parseInt(date.split(' ')[0].split('/')[0])
}
function cutMonth(date){
  return parseInt(date.split(' ')[0].split('/')[1])
}
function cutDay(date){
  return parseInt(date.split(' ')[0].split('/')[2])
}
function cutSecond(data){
  return data.split(' ')[1].split(':')[0]+":"+data.split(' ')[1].split(':')[1]
}
function timer(faultDate, completeTime) {
const startYear = cutYear(faultDate)
const startMonth = cutMonth(faultDate)
const startDay = cutDay(faultDate)
const endYear = cutYear(completeTime)
const endMonth =   cutMonth(completeTime)
const endDay = cutDay(completeTime)
const yearFlag = endYear - startYear  //相差年份
const monthFlag = endMonth - startMonth //相差月份
const dayFlag = endDay - startDay //相差天数
if(yearFlag>=1){ // eg:2022/12/31 XX:XX
  return startYear + '年' + startMonth + '月' + startDay + '日 '+ cutSecond(faultDate)
} 
else{  //同一年
  if(monthFlag>=1) 
  {
    return startMonth +'月' +startDay +'日 ' + cutSecond(faultDate)
  }
  else{ //同一月 
      if(dayFlag==0) { //同一天
        return cutSecond(faultDate)
      }
      if(dayFlag ==1) { //昨天
        return "昨天 "+cutSecond(faultDate)
      }
      if(dayFlag==2){  //前天
        return "前天 " +cutSecond(faultDate)
      }
      if(dayFlag>=3){
        return startMonth +'月' +startDay + '日 ' + cutSecond(faultDate)
      }
  }
}
}

module.exports={
  timer
}

        2.使用方法

                ①首先在使用的页面引入timer.js

//时间处理
const {timer} = require('../../utils/timer')
//获取时间 【小程序自带】
const util = require('../../utils/util')

                ②.调用timer函数

                timer函数需要传入两个参数,分别为开始时间和结束时间。时间的具体格式如下:

示例时间参数格式:
2022/08/05 16:51:54
年/月/日 小时:分钟:秒

该格式的时间可通过调用util中的formatTime获取
具体获取方法如下:
const currentTime = util.formatTime(new Date())


//示例调用timer
const newDate = timer(开始时间,结束时间)
 console.log("输出时间:",newDate)

                ③.输出结果

                转换后的结果已保存到newDate中,可根据需要渲染到自己的页面上

         示例渲染:

猜你喜欢

转载自blog.csdn.net/SCY164759920/article/details/126500070
今日推荐