Jquery格式化时间和时间戳之间的转换

Jquery格式化时间和时间戳之间的转换

Jquery格式化时间和时间戳之间的转换


这里用一个计算指定时间是当前时间内多久之前来作为例子。


直接看代码:

var date = dateToTimeStamp("2019-01-02 15:24:12");
alert(getDateDiff(date));

/**              
* 日期 转换为 时间戳
* @param <string> 2019-01-01 20:20:20  日期格式              
* @return <int>        时间戳              
*/
function dateToTimeStamp(string) {
    var f = string.split(' ', 2);
    var d = (f[0] ? f[0] : '').split('-', 3);
    var t = (f[1] ? f[1] : '').split(':', 3);
    return (new Date(
            parseInt(d[0], 10) || null,
            (parseInt(d[1], 10) || 1) - 1,
            parseInt(d[2], 10) || null,
            parseInt(t[0], 10) || null,
            parseInt(t[1], 10) || null,
            parseInt(t[2], 10) || null
            )).getTime();
}

/**
 * 获取时间差
 * @param  {[type]} setdateTimeStamp [description]
 * @return {[type]}                  [description]
 */
function getDateDiff(setdateTimeStamp){


    var minute = 1000 * 60;
    var hour = minute * 60;
    var day = hour * 24;
    var halfamonth = day * 15;
    var month = day * 30;

    var dateTimeStamp=new Date(setdateTimeStamp);
    var now = new Date().getTime();
    var diffValue = now - dateTimeStamp;
    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;
    if(monthC>=1){
     result=parseInt(monthC) + "个月前";
     }
     else if(weekC>=1){
     result=parseInt(weekC) + "周前";
     }
     else if(dayC>=1){
     result=parseInt(dayC) +"天前";
     }
     else if(hourC>=1){
     result=parseInt(hourC) +"个小时前";
     }
     else if(minC>=1){
     result=parseInt(minC) +"分钟前";
     }else
     result="刚刚发表"; 
     return result;
}


文章最后修改时间:2019年01月02日 17:33:23

ICP备案号:粤ICP备18068480号
Copyright © 林国来版权所有