博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
小程序--时间处理(显示几分钟前,,几小时前,,几天前...)
阅读量:5898 次
发布时间:2019-06-19

本文共 4024 字,大约阅读时间需要 13 分钟。

效果图  (通过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:0113         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); // 年 201829         // console.log("月", M); // 月 0930         // console.log("日", D); // 日 0631         // console.log("时", H); // 时 1832         // console.log("分", m); // 分 4733         // console.log("秒", s); // 秒 0034     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: commentTimeHandle61 }

页面数据是自己模拟的

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: test0Data25 }

接着页面中去使用 时间处理的函数 和 假数据   

项目的目录是这样的    所以在页面要通过 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:0512                 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: test0Data21         })22     }23 })

 

因为之前项目的需求, 时间也较赶,  现在回过头来温习一下, 正好记录一下.  

开心一刻:

  程xx遭遇车祸成植物人,医生说她活下来的希望只有万分之一,唤醒更为渺茫。她的同事和亲人没放弃,并根据程xx对testing痴迷的作风,每天都在她身边念:“你测的模块上线后回滚了。”奇迹发生了,程xx醒来第一句话:确认那模块是我测的?

                          

转载于:https://www.cnblogs.com/yk95/p/9970493.html

你可能感兴趣的文章
分布式开放消息系统(RocketMQ)的原理与实践
查看>>
HashMap实现特点——基于JDK文档
查看>>
hdu5739Fantasia(多校第二场1006) 割点+逆元
查看>>
linux 命令详解 二十三
查看>>
escalation 限制Nagios报警次数
查看>>
IT职场人生系列之二:大学生活
查看>>
4.一对多关联映射
查看>>
十种贵人,四种朋友,遇到千万别放手!!
查看>>
Gitlab 6.3.1默认仓库路径修改
查看>>
F5大幅增强SDN集成和云扩展功能
查看>>
应用:Lync改变状态
查看>>
php分页
查看>>
10.25日模拟试题
查看>>
洛谷——P1330 封锁阳光大学
查看>>
php-fpm的max_chindren的一些误区
查看>>
libtool: install: error: cannot install `libaprutil-1.la' to a directory
查看>>
Sring a和String b的值相同,是不是指向同一个地址呢
查看>>
Linux命令-uptime
查看>>
1069 关押罪犯
查看>>
手机邮箱客户端开源项目
查看>>