当前位置:Gxlcms > PHP教程 > 求大神写个时间对比函数

求大神写个时间对比函数

时间:2021-07-01 10:21:17 帮助过:15人阅读

时间对比函数 给他两个时间 对比年份是否一样 不一样输出相差的年份数 一样就对比月份 不一样就输出相差的月份数 一样就对比日 这样直到对比到秒数

回复内容:

时间对比函数 给他两个时间 对比年份是否一样 不一样输出相差的年份数 一样就对比月份 不一样就输出相差的月份数 一样就对比日 这样直到对比到秒数

https://github.com/jaywcjlove/date.js
http://segmentfault.com/a/1190000002500537
更专业的时间操作插件https://github.com/moment/moment 官网

date 时间操作

format

格式化时间

jsnew Date('2015-10-12 23:01:11').format("yyyy年MM月dd日 hh:mm:ss");
//⇒ "2015年10月12日 23:01:11"

var testDate = new Date(); 
var testStr = testDate.format("yyyy年MM月dd日hh小时mm分ss秒"); 
//=> testStr =  2015年01月20日 19小时21分03秒

ago

多少小时前、多少分钟前、多少秒前

jsnew Date(1421313395359).ago(1411430400000)
//=> "3个月前"

new Date(1421313395359).ago('1987-04-03')
//=> "28年前"

new Date('2010-02-02').ago('1987-04-03')
//=> "23年前"

toHHMMSS

时间转换,倒计时 '毫秒'.toHHMMSS(输出格式)
这个是基于 String 原型扩展出来的

jsvar dt = (new Date().getTime()).toString()
dt.toHHMMSS('hh时mm分ss秒') //=> 34时11分52秒

TZC

解决因客户端时区变更或者与服务器时间不一致,导 致显示服务器时间不准确

js//服务端传入前端一般为秒,前端时间戳为毫秒所以要乘以1000
//8 为服务器时间时区
new Date(1434701732*1000).TZC(8)

如以下:

function compareDate(date1, date2){
      var  difArr, unitArr;

      date1 = new Date(date1);
      date2 = new Date(date2);
      difArr = [date1.getFullYear() - date2.getFullYear(), date1.getMonth() -date2.getMonth(),date1.getDate() - date2.getDate(),date1.getHours() - date2.getHours(), date1.getMinutes() - date2.getMinutes(),date1.getSeconds() - date2.getSeconds()];
      unitArr = ['年','月','日','时','分','秒']
      for(var i = 0; i < 6;i++){
        if(difArr[i] !== 0){
          return Math.abs(difArr[i]) + unitArr[i];
        }
      }
    }

测试结果:

比如2015-5-6 5:0:0和2015-5-7 8:0:0输出就是一天 天数不同 后面时间就不用判断

function compareTime($time1,$time2)
{
$timestamp1 = strtotime($time1);
$timestamp2 = strtotime($time2);

if(($year=(date('Y',$timestamp1)-date('Y',$timestamp2)))!=0)
{
    return 'year:'.abs($year);
}
elseif(($month=(date('m',$timestamp1)-date('m',$timestamp2)))!=0)
{
    return 'month:'.abs($month);
}elseif(($day=(date('d',$timestamp1)-date('d',$timestamp2)))!=0)
{
    return 'day:'.abs($day);
}

}

人气教程排行