效果图:
js:
Page({
data: {
task:[],
array1:[31,28,31,30,31,30,31,31,30,31,30,31]
}
fixzero:function(res){
return res<10?'0'+res:res;
},
reduce:function(res1,res2,res3,res4){ //得出相差天数并返回
var sum1=0,sum2=0;
if(res1===1){
sum1=this.data.array[1]===28?365:366
}
for(var i=0;i<res1-1;i++){
sum1=sum1+this.data.array1[i];
}
for(var i=0;i<res3-1;i++){
sum2=sum2+this.data.array1[i]
}
console.log(sum1,sum2)
var result = sum1+res2-sum2-res4
return{
result
}
},
time:function(res){ //res是你从数据库拿到的数据
var datenow = new Date(); //获取当前时间戳
var month1 = datenow.getMonth() + 1;
var date11 = datenow.getDate();
var year1=datenow.getDate;
for (var i = 0; i < res.data.length; i++) { //res.data是你拿从数据库拿到的数据数组
var jude = Math.floor((datenow-res.data[i].time)/1000)
console.log(jude)
var date1 = new Date(res.data[i].time); //time是你数据的时间戳
var year = date1.getFullYear();
var month = date1.getMonth() + 1;
var date = date1.getDate();
var hour = date1.getHours();
var mm = this.fixzero(date1.getMinutes()); //补0函数例:12:05 12:5(不补0)
if(year1%4===0){ //闰年2月多一天
this.data.array[1]=29
}
console.log(month1, date11, month, date)
var result=this.reduce(month1,date11,month,date)
console.log(result)
if (result.result===0) {
console.log('success')
if (jude < 0) {
res.data[i].time = {
first: 1,
second: ' 秒前',
}
}
else if(jude<60)
res.data[i].time = {
first: jude+1,
second: ' 秒前',
}
else if (jude >= 60 && jude < 3600) {
res.data[i].time = {
first: Math.floor(jude / 60),
second: ' 分钟前',
}
}
else if (jude >= 3600 && jude < 86400) {
res.data[i].time = {
first: Math.floor(jude / 60 / 60),
second: ' 小时前',
}
}
}
else if (result.result===1)
res.data[i].time = {
first: '昨天 ',
second: hour + ':',
third: mm
}
else if (result.result===2)
res.data[i].time = {
first: '前天',
second: hour + ':',
third: mm
}
else
res.data[i].time = {
first: month+'-',
second: date+' ',
third: hour+':',
four:mm
}
}
})
wxml:
<view wx:for="{{task}}">
{{item.time.first}}{{item.time.second}}{{item.time.third}}{{item.time.four}}
</view>