原創聲明:本文為作者原創,未經允許不得轉載,經授權轉載需注明作者和出處
做項目的時候后臺傳到前臺的時間格式都是時間戳,要是前臺直接顯示時間的話略顯普通,若是將其轉換成多久以前的發表的會不會覺得更好些呢?
微信小程序俱樂部
:附上小程序時間戳轉換效果圖
:<view class="v_beforetime">轉換前:{{time}}</view>
<view class="v_aftertime">轉換后:{{aftertime}}</view>
<button class="btn_changeTimestamp" bindtap="changeTimestamp"> 轉換 </button>
.page{
height: 100%;
width: 100%;
}
.btn_changeTimestamp{
width:400rpx;
height:100rpx;
margin-top: 20rpx;
background:#0099FF;
}
.v_beforetime{
margin-top: 20rpx;
background:#C0C0C0;
}
.v_aftertime{
margin-top: 20rpx;
background:#FF0000;
}
// 時間戳轉換成剛剛、幾分鐘前、幾小時前、幾天前
//剛剛
var just = new Date().getTime();
//幾分鐘前
var afewminutesago = new Date("Nov 29, 2016 00:50:00").getTime();
//幾周前
var afewweekago = new Date("Nov 29, 2016 00:50:00").getTime();
//幾年前
var someday = new Date("Nov 21, 2012 01:15:00").getTime();
var helloData = {
time: afewweekago
}
function getDateDiff(dateTimeStamp){
var result;
var minute = 1000 * 60;
var hour = minute * 60;
var day = hour * 24;
var halfamonth = day * 15;
var month = day * 30;
var now = new Date().getTime();
var diffValue = now - dateTimeStamp;
if(diffValue < 0){
return;
}
var monthC =diffValue/month;
var weekC =diffValue/(7*day);
var dayC =diffValue/day;
var hourC =diffValue/hour;
var minC =diffValue/minute;
if(monthC>=1){
if(monthC<=12)
result="" + parseInt(monthC) + "月前";
else{
result="" + parseInt(monthC/12) + "年前";
}
}
else if(weekC>=1){
result="" + parseInt(weekC) + "周前";
}
else if(dayC>=1){
result=""+ parseInt(dayC) +"天前";
}
else if(hourC>=1){
result=""+ parseInt(hourC) +"小時前";
}
else if(minC>=1){
result=""+ parseInt(minC) +"分鐘前";
}else{
result="剛剛";
}
return result;
};
Page({
data: helloData,
changeTimestamp: function (e) {
var that = this;
this.setData({
aftertime: getDateDiff(that.data.time)
})
}
})
`