以下代码支持wxs中使用


/*** 主要是用来处理聊天页面逻辑*/
var durtionTime = 180000 //三分钟var foo = "'hello world' from tools.wxs";
var bar = function (d) {return d;
}/*** 判断消息朝向*/
var isSelf = function (sendUser, selfUser) {return sendUser == selfUser
}var showTime = function (sendTime) {let result = ""let currentTime = getDate().getTime()if (currentTime - sendTime < durtionTime) {result = ""} else {result = "三分钟前"}return result
}/*** * @param timestamp 时间戳类型*/
var dateDiff = function (timestamp) {// 补全为13位var arrTimestamp = (timestamp + '').split('');for (var start = 0; start < 13; start++) {if (!arrTimestamp[start]) {arrTimestamp[start] = '0';}}timestamp = arrTimestamp.join('') * 1;var minute = 1000 * 60;var hour = minute * 60;var day = hour * 24;var halfamonth = day * 15;var month = day * 30;var now = getDate().getTime();var diffValue = now - timestamp;// 如果本地时间反而小于变量时间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;// 数值补0方法var zero = function (value) {if (value < 10) {return '0' + value;}return value;};// 使用if (monthC > 12) {// 超过1年,直接显示年月日return (function () {var date = getDate(timestamp);return date.getFullYear() + '年' + zero(date.getMonth() + 1) + '月' + zero(date.getDate()) + '日';})();} else if (monthC >= 1) {return parseInt(monthC) + "月前";} else if (weekC >= 1) {return parseInt(weekC) + "周前";} else if (dayC >= 1) {return parseInt(dayC) + "天前";} else if (hourC >= 1) {return parseInt(hourC) + "小时前";} else if (minC >= 1) {return parseInt(minC) + "分钟前";}return '刚刚';
};/*** * @param dateStr 时间格式为 2016-12-12 12:20:00*/
function getDateDiff(dateStr) {var publishTime = getDateTimeStamp(dateStr) / 1000,d_seconds,d_minutes,d_hours,d_days,timeNow = parseInt(getDate().getTime() / 1000),d,date = getDate(publishTime * 1000),Y = date.getFullYear(),M = date.getMonth() + 1,D = date.getDate(),H = date.getHours(),m = date.getMinutes(),s = date.getSeconds();//小于10的在前面补0if (M < 10) {M = '0' + M;}if (D < 10) {D = '0' + D;}if (H < 10) {H = '0' + H;}if (m < 10) {m = '0' + m;}if (s < 10) {s = '0' + s;}d = timeNow - publishTime;d_days = parseInt(d / 86400);d_hours = parseInt(d / 3600);d_minutes = parseInt(d / 60);d_seconds = parseInt(d);if (d_days > 0 && d_days < 3) {return d_days + '天前';} else if (d_days <= 0 && d_hours > 0) {return d_hours + '小时前';} else if (d_hours <= 0 && d_minutes > 0) {return d_minutes + '分钟前';} else if (d_seconds < 60) {if (d_seconds <= 0) {return '刚刚';} else {return d_seconds + '秒前';}} else if (d_days >= 3 && d_days < 30) {return M + '-' + D + ' ' + H + ':' + m;} else if (d_days >= 30) {return Y + '-' + M + '-' + D + ' ' + H + ':' + m;}
}module.exports = {FOO: foo,bar: bar,isSelf: isSelf,showTime: showTime,dateDiff: dateDiff,
};
module.exports.msg = "some msg";

微信中将时间戳转换为聊天时间(二)相关推荐

  1. linux shell转换成时间,如何在Bash中将时间戳转换为日期?

    如何在Bash中将时间戳转换为日期? 我需要一个将Unix时间戳转换为日期的shell命令或脚本. 输入可以来自第一个参数或来自stdin,允许以下使用模式: ts2date 1267619929 和 ...

  2. EXCEL中将时间戳转换为日期格式

    EXCEL中将时间戳转换为日期格式 从linux系统中获取的时间戳信息通常为s,将其转换的公式为: =TEXT((E1+83600)/86400+70365+19,"yyyy-mm-dd h ...

  3. Android、Java 获取时间戳、年月日、时间戳转换为具体时间

    获取时间戳 long timecurrentTimeMillis = System.currentTimeMillis()/1000; 时间戳转换为具体时间 获取当前年月日 Calendar cale ...

  4. 将10位或13位时间戳转换为日期+时间--yyyy-MM-dd HH:mm:ss

    将10位或13位时间戳转换为日期+时间–yyyy-MM-dd HH:mm:ss public static void main(String[] args) {// 10位 秒时间戳 转换String ...

  5. 关于在前端js中将时间戳转换为2000-01-01 00:00:00的格式

    一.首先获取时间戳(原文链接) 1.Date.now(): console.log(Date.now()) //1642471441587 2.Date.parse(); Date.parse(new ...

  6. linux c时间戳转换,Android C/C++代码中将时间戳转换为标准时间

    在Android 底层C/C++代码中如何将时间戳转换为标准时间? 这个问题实质上可以理解为C/C++中如何将Linux的时间戳转换为标准时间,那么接下来就这个问题进行分析和处理. 首先,要在C/C+ ...

  7. Vue.js中将时间戳转换为日期格式

    什么是时间戳 Unix时间戳(Unix timestamp),或称Unix时间(Unix time).POSIX时间(POSIX time),是一种时间表示方式,定义为从格林威治时间1970年01月0 ...

  8. TSO 时间戳转换为自然时间

    作者:王泽铭 原文来源: https://tidb.net/blog/c428b950 [是否原创]是 [首发渠道]TiDB 社区 [目录] [正文] 今天分析一个慢查询 SQL,发现 SQL 实际执 ...

  9. 在excel中将时间戳转换为时间

    平时后台开发经常讲时间储存为时间戳格式,然后经过插件layui下载后,还是时间戳,这给让人就很难受,本来显示都正常了,可是在表中还是让人看不懂的一串数字. 两个公式搞定时间戳到时间的转换 如果你存的是 ...

最新文章

  1. 轻量级分布式 RPC 框架
  2. cufflinks基于QuantFig绘制高级金融图
  3. SQL Server 临时表
  4. boost::mpi模块all_to_all() 集合的测试
  5. frps搭建内网穿透服务器(frp隧道)
  6. Linux进程管理(第二版) --计划任务
  7. 计算机二级mysql程序设计题库_计算机二级MySQL数据程序设计模拟试题
  8. 使用control.invoke返回当前窗口线程[转]
  9. vnc服务器拼虚拟机,vnc连接虚拟机,7个步骤vnc连接虚拟机
  10. Qt元对象和属性机制
  11. vue 父刷新子_vue.js从父级中更新子组件数据
  12. USACO Section 2.1 Sorting a Three-Valued Sequence 解题报告
  13. [NOIP2013] 华容道
  14. php 依赖注入 数据库切换_通俗易懂理解PHP依赖注入容器
  15. Android 常用控件详解
  16. 腾讯企业邮箱小程序撤回邮件_6个针对小型企业的有用的电子邮件营销技巧
  17. 刘严涛一枚天蝎座的在读大学生
  18. 小白前端学习流程【爱创课堂专业前端培训】
  19. 记录一次神奇的大物实验——用模拟法测绘静电场——别人都是打铁~我们打孔~~~
  20. 小程序登录授权获取用户信息

热门文章

  1. Vmware Esxi宿主机及虚拟机网络配置
  2. 计算机监控系统检验规程,计算机监控系统护规程.doc
  3. 2D 动画调整 position 产生的位移问题
  4. Chrome插件:云音乐听歌识曲
  5. Excel之用Sumifs完成多条件多列的求和
  6. 阿里云添加域名解析设置
  7. 胡歌官宣生女,胡椒粉们真为他高兴,人生最顶级的能力是【涅槃重生】的力量
  8. 帝国时代3如何快速实现增加建筑/农民数量上限
  9. html截取一部分作为图片,怎么截取文档的一部分
  10. python之函数len()