小程序--時間處理(顯示幾分鍾前,,幾小時前,,幾天前...)


效果圖  (通過js實現對時間處理);

 

這是時間處理的函數, 代碼注釋說明的也還清楚,   這是文件鏈接,可以直接打開,保存一下 https://blog-static.cnblogs.com/files/yk95/commonFunc.js

 

 

 

 1 function commentTimeHandle(dateStr) {
 2     // dateStr = 2018-09-06 18:47:00" 測試時間
 3     var publishTime = dateStr / 1000,  //獲取dataStr的秒數  打印結果--1536230820000
 4         date = new Date(publishTime * 1000), //獲取dateStr的標准格式 console.log(date) 打印結果  Thu Sep 06 2018 18:47:00 GMT+0800 (中國標准時間)
 5         // 獲取date 中的 年 月 日 時 分 秒
 6         Y = date.getFullYear(),
 7         M = date.getMonth() + 1,
 8         D = date.getDate(),
 9         H = date.getHours(),
10         m = date.getMinutes(),
11         s = date.getSeconds();
12         // 對 月 日 時 分 秒 小於10時, 加0顯示 例如: 09-09 09:01
13         if (M < 10) {
14             M = '0' + M;
15         }
16         if (D < 10) {
17             D = '0' + D;
18         }
19         if (H < 10) {
20             H = '0' + H;
21         }
22         if (m < 10) {
23             m = '0' + m;
24         }
25         if (s < 10) {
26             s = '0' + s;
27         }
28         // console.log("年", Y); // 年 2018
29         // console.log("月", M); // 月 09
30         // console.log("日", D); // 日 06
31         // console.log("時", H); // 時 18
32         // console.log("分", m); // 分 47
33         // console.log("秒", s); // 秒 00
34     var nowTime = new Date().getTime() / 1000, //獲取此時此刻日期的秒數
35         diffValue = nowTime - publishTime,  // 獲取此時 秒數 與 要處理的日期秒數 之間的差值
36         diff_days = parseInt(diffValue / 86400),    // 一天86400秒 獲取相差的天數 取整
37         diff_hours = parseInt(diffValue / 3600),    // 一時3600秒
38         diff_minutes = parseInt(diffValue / 60),
39         diff_secodes = parseInt(diffValue);
40 
41         if (diff_days > 0 && diff_days < 3) {  //相差天數 0 < diff_days < 3 時, 直接返出
42             return diff_days + "天前";
43         } else if (diff_days <= 0 && diff_hours > 0) {
44             return diff_hours + "小時前";
45         } else if (diff_hours <= 0 && diff_minutes > 0) {
46             return diff_minutes + "分鍾前";
47         } else if (diff_secodes < 60) {
48             if (diff_secodes <= 0) {
49                 return "剛剛";
50             } else {
51                 return diff_secodes + "秒前";
52             }
53         } else if (diff_days >= 3 && diff_days < 30) {
54             return M + '-' + D + ' ' + H + ':' + m;
55         } else if (diff_days >= 30) {
56             return Y + '-' + M + '-' + D + ' ' + H + ':' + m;
57         }
58 }
59 module.exports = {
60     timeHandle: commentTimeHandle
61 }

頁面數據是自己模擬的

 1 const test0Data = [
 2     {
 3         content: "有人知道漫威電影的觀影順序嘛? 狗狗出門要牽狗繩,帶口罩啦!!!",
 4         time: '2018-11-16 10:19:05'
 5     },
 6     {
 7         content: "狗狗出門要牽狗繩,帶口罩啦!!!",
 8         time: '2018-11-14 10:19:05'
 9     },
10     {
11         content: "現在各種旅游年卡越來越多,不知道該辦哪一個?主要是想周末節假日帶孩子去轉轉,請各位了解的朋友們給點意見~謝謝~",
12         time: '2018-11-12 16:19:05'
13     },
14     {
15         content: "現在配個眼鏡都這么貴了?最少1000多!這個行業也太暴利了吧!",
16         time: '2018-11-04 12:09:05'
17     },
18     {
19         content: "健身房跑路了,怎么辦!剛辦的卡,3580。老板跑路了,最近幾天一個員工沒有,好多會員把器材都搬走了,搬空了,怎么辦?",
20         time: '2018-09-01 22:19:05'
21     },
22 ]
23 module.exports = {
24    test0Data: test0Data
25 }

接着頁面中去使用 時間處理的函數 和 假數據   

項目的目錄是這樣的    所以在頁面要通過 import 將其導入

 1 // pages/test0/test0.js
 2 import { timeHandle } from '../../utils/commonFunc';
 3 import { test0Data } from '../../utils/data';
 4 Page({
 5     data: {
 6         pageData: []
 7     },
 8     onLoad: function (options) {
 9         test0Data.forEach(item => {
10             /**
11                 replace(/-/g, '/') 是為了處理IOS不兼容 2018-11-14 10:19:05
12                 new Date().getTime() 獲取 item 下時間的 毫秒值
13             */
14             let d = new Date(item.time.replace(/-/g, '/')).getTime();
15             item.time = timeHandle(d);
16         });
17     },
18     onShow: function() {
19         this.setData({
20             pageData: test0Data
21         })
22     }
23 })

 

因為之前項目的需求, 時間也較趕,  現在回過頭來溫習一下, 正好記錄一下.  

開心一刻:

  程xx遭遇車禍成植物人,醫生說她活下來的希望只有萬分之一,喚醒更為渺茫。她的同事和親人沒放棄,並根據程xx對testing痴迷的作風,每天都在她身邊念:“你測的模塊上線后回滾了。”奇跡發生了,程xx醒來第一句話:確認那模塊是我測的?

                          


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM