html5开发 消息时间显示处理
2015-09-16 15:52
330 查看
项目开发过程中,聊天模块需要对信息时间进行处理(聊天用的环信sdk),自己写了一个插件如下:
定义一个函数showMessageTime(timestamp,timeShowPlance), 有两个参数,第一个参数接收时间戳,第一个参数接收显示的地点,如果是列表界面,则对应周几时不显示后面具体的时间;如果是聊天页面,则除了显示周几 还显示具体的消息时间(时、分)
function showMessageTime(timestamp,timeShowPlace){ /** 消息发送时间 **/ timestamp = parseInt(timestamp) var msgTime = new Date(timestamp); var msgTimeYear = msgTime.getUTCFullYear() var msgTimeMonth = (msgTime.getUTCMonth()+1) var msgTimeDate = msgTime.getUTCDate() var hms = ""; hms += " " + msgTime.getHours() + ":" hms += " " + msgTime.getMinutes() >= 10 ? msgTime.getMinutes():'0'+msgTime.getMinutes() /** 获取本地时间 **/ var myDate = new Date(); var myDateYear = myDate.getUTCFullYear() var myDateMonth = myDate.getUTCMonth()+1 var myDateDate = myDate.getUTCDate() var dateMinus = msgTimeDate - myDateDate /** 消息发送时间和本地时间为同一天 **/ if (msgTimeYear == myDateYear && msgTimeMonth == myDateMonth && msgTimeDate == myDateDate) { return hms; } /** 消息发送时间在一周范围内 **/ else if (msgTimeYear == myDateYear && msgTimeMonth == myDateMonth && dateMinus >= -6 && dateMinus <= -1){ for (var i = 0 ; i <= 6 ; i++){ if( myDate.getDay() == i) { console.log('i='+i) if (dateMinus == -6) { return '周' + (i==0?'一':(i==1?'二':(i==2?'三':(i==3?'四':(i==4?'五':(i==5?'六':(i==6?'日':' '))))))) + ' ' + (timeShowPlace=="messageList"?'':hms) } else if (dateMinus == -5) { return '周' +(i==0?'二':(i==1?'三':(i==2?'四':(i==3?'五':(i==4?'六':(i==5?'日':(i==6?'日':' '))))))) + ' ' + (timeShowPlace=="messageList"?'':hms) } else if (dateMinus == -4) { return '周' +(i==0?'三':(i==1?'四':(i==2?'五':(i==3?'六':(i==4?'日':(i==5?'一':(i==6?'二':' '))))))) + ' ' + (timeShowPlace=="messageList"?'':hms) } else if (dateMinus == -3) { return '周' +(i==0?'四':(i==1?'五':(i==2?'六':(i==3?'日':(i==4?'一':(i==5?'二':(i==6?'三':' '))))))) + ' ' + (timeShowPlace=="messageList"?'':hms) } else if (dateMinus == -2) { return '周' +(i==0?'五':(i==1?'六':(i==2?'日':(i==3?'一':(i==4?'二':(i==5?'三':(i==6?'四':' '))))))) + ' ' + (timeShowPlace=="messageList"?'':hms) } else { return '昨天' } } } } /** 消息发送时间在一周范围外 **/ else { //console.log('一周范围外:'+dateMinus) return msgTimeYear+'/'+msgTimeMonth+'/'+msgTimeDate } }
相关文章推荐
- JQuery1——基础($对象,选择器,对象转换)
- JavaScript演示排序算法
- 2015-2016网页设计趋势分析 Web Design of Trends
- jQuery Ajax 跨域调用
- 移动端的长按事件
- jquery教程靠边站,一分钱不花让你免费学会jquery
- JQuery+Strusts1.x无刷新登录
- HTML5中在客户端验证文件上传的大小
- Canvas 在高清屏下绘制图片变模糊的解决方法
- jQuery菜单插件用法实例
- JQuery 初体验(建议学习jquery)
- Jquery实现的table最后一行添加样式的代码
- jQuery实现向下滑出的平滑下拉菜单效果
- jQuery 练习[一] 学习jquery的准备工作
- jquery获得页面元素的坐标值实现思路及代码
- 使用Browserify配合jQuery进行编程的超级指南
- jquery如何实现在加载完iframe的内容后再进行操作
- jquery $.ajax()取xml数据的小问题解决方法
- jQuery '行 4954 错误: 不支持该属性或方法' 的问题解决方法