应用场景

浏览实时信息网站时,总会看到发布时间,是这么显示的 例如 刚刚、几秒前,几分钟,几天,日期 ...,提供以下处理方案

  • 服务端 ——PHP

  • 客户端 ——JavaScript

处理方案

服务端 ——PHP

使用服务器端实现,很方便,把时间戳存储到数据库,具有时间统一的优点,但当使用ajax请求数据库直接返回json数据时,无法使用。

/*** [dataStr description]* @author 邱先生 * @copyright 烟火里的尘埃* @version [V1.0版本] * @date 2016-07-13* @param  [type] $date [时间戳]* @return [type]       [description]*/static public function dataStr($date){if((time()-$date)<60*10){//十分钟内echo '刚刚';}elseif(((time()-$date)<60*60)&&((time()-$date)>=60*10)){//超过十分钟少于1小时$s = floor((time()-$date)/60);echo  $s."分钟前";}elseif(((time()-$date)<60*60*24)&&((time()-$date)>=60*60)){ //超过1小时少于24小时$s = floor((time()-$date)/60/60);echo  $s."小时前";}elseif(((time()-$date)<60*60*24*3)&&((time()-$date)>=60*60*24)){ //超过1天少于3天内$s = floor((time()-$date)/60/60/24);echo $s."天前";}else{ //超过3天echo  date("Y/m/d",$date);}}

客户端 ——JavaScript

适用于ajax请求服务器直接返回json数据,处理展示的情况,但时间的计算是根据客户端时间为准计算(现在都是智能时代,可忽略),有一个问题是,PHP存储到数据库的时间戳是10位的,但js的时间戳不是。以下函数已经做了处理。


/*** [Datestr 时间戳转字符串格式]* @author 邱先生* @copyright 烟火里的尘埃* @version [V1.0版本] * @date 2016-06-26* @param  {[type]} date [传入php 时间戳]*/
function dateStr(date){//获取js 时间戳var time=new Date().getTime();//去掉 js 时间戳后三位,与php 时间戳保持一致time=parseInt((time-date*1000)/1000);//存储转换值 var s;if(time<60*10){//十分钟内return '刚刚';}else if((time<60*60)&&(time>=60*10)){//超过十分钟少于1小时s = Math.floor(time/60);return  s+"分钟前";}else if((time<60*60*24)&&(time>=60*60)){ //超过1小时少于24小时s = Math.floor(time/60/60);return  s+"小时前";}else if((time<60*60*24*3)&&(time>=60*60*24)){ //超过1天少于3天内s = Math.floor(time/60/60/24);return s+"天前";}else{ //超过3天var date= new Date(parseInt(date) * 1000);return date.getFullYear()+"/"+(date.getMonth()+1)+"/"+date.getDate();}
}

刚刚、几秒前,时间格式化函数相关推荐

  1. js时间格式化函数,支持Unix时间戳

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/ ...

  2. mysql.h函数解释_mysql时间格式化函数日期格式h和H区别

    本文为博主原创,未经允许不得转载: 今天碰到一个问题,发现项目中有一个统计图的数据和时间格式没有对应准确,统计图要描述的是操作次数和操作时间的关系, 但很奇怪的是操作次数对应的时间却是凌晨,实际应用中 ...

  3. postgresql的时间处理函数,时间格式化函数

    六.模式匹配: PostgreSQL中提供了三种实现模式匹配的方法:SQL LIKE操作符,更近一些的SIMILAR TO操作符,和POSIX-风格正则表达式.     1. LIKE:     st ...

  4. js时间格式化函数(兼容IOS)

    * 时间格式化* @param {Object} dateObj 时间对象* @param {String} fmt 格式化字符串*/dateFormat(dateObj, fmt) {let dat ...

  5. html用vbscript显示当前日期,VBS日期(时间)格式化函数代码

    核心代码 currenttimestr1 = cstr(year(now()))&"-"&right("0"&month(now()), ...

  6. html中日期格式化函数,JavaScript日期时间格式化函数分享

    这个函数经常用到,分享给大家. 函数代码: Date.prototype.format = function(format){ var o = { "M+" : this.getM ...

  7. vue 时间格式化函数_vue开发记录--通用时间格式函数

    parseTime(time, fm) { // 解析时间 time: 时间戳或者实践对象 fm: 格式 默认是{y}-{m}-{d} {h}:{i}:{s} if (arguments.length ...

  8. 时间格式化函数,TS版本

    export const dateFormat = (dateStr: string | Date,formatter: string = 'yyyy-MM-dd', ) => {let dat ...

  9. 人大金仓时间格式化函数

    SELECT TO_CHAR(now() ,'yyyy-MM-dd HH24:MI:SS')

最新文章

  1. IDEA 显示类结构图
  2. acme.sh及https证书实践
  3. 【约束布局】ConstraintLayout 组件可见性 View.GONE 处理 与 Margin 属性 ( 约束布局可见性处理 | goneMargin 属性 )
  4. android中matrix的单位,Android中canvas和matrix之间的关系是什么?
  5. 提交官方MapReduce作业到YARN
  6. tomcat启动时出现错误
  7. Sequelize 中文文档 v4 - Querying - 查询
  8. UI设计素材干货|分页符(指示器)各类型特点,可临摹的好模板
  9. C++类模板 简单示例
  10. AD域策略启动关机脚本不执行的注意事项
  11. pandas 索引 —— index、set_index、reset_index
  12. django中使用第三方包实现定时任务
  13. Distance Dependent Infinite Latent Feature Model 阅读笔记1
  14. 怎么通过当地时区计算格林尼治_时间规划局:时间能看到,标注在你的手臂上,那时的你会怎么样...
  15. ps -ef | grep 命令详解
  16. vue 实现文字转语音
  17. 速记JVM内存模型和垃圾回收策略
  18. Win10安装应用或打开应用时提示“用户账户控制 为了对电脑进行保护,已经阻止此应用”
  19. OSPF多区域配置【eNSP实现】
  20. 我们应该如何规划自己的一生?

热门文章

  1. Web性能优化实践——应用层性能优化
  2. 取消水晶报表的数据库登录框 分享
  3. VML 画统计 柱状、饼图、折线
  4. Ajax实现DataGrid/DataList动态ToolTip
  5. 在Eclipse中使用Maven构建Spring项目
  6. 【Qt】Qt源码中涉及到的设计模式
  7. java.sql在哪_我的Java访问MS SQL的程序错在哪了?谢谢!
  8. centos查看历史指令记录_CentOS 系统通过 curlftpfs 挂载 FTP 服务器为本地磁盘
  9. windows linux rac,跨平台表空间传输(windows到linux RAC)
  10. Java学习总结:37(比较器)