How to get time difference between two timestamps in seconds with jQuery?

前端 未结 5 574
猫巷女王i
猫巷女王i 2020-12-15 08:16

I want to display x seconds ago based on a MySQL Timestamp.

I found the plugin called timeago

But I cannot find a way to make it display only se

相关标签:
5条回答
  • 2020-12-15 08:18

    If you are okay with that plugin you can modify it a little bit to work with seconds only

      var words = seconds < 45 && substitute($l.seconds, Math.round(seconds)) ||
        seconds < 90 && substitute($l.minute, 1) ||
        minutes < 45 && substitute($l.minutes, Math.round(minutes)) ||
        minutes < 90 && substitute($l.hour, 1) ||
        hours < 24 && substitute($l.hours, Math.round(hours)) ||
        hours < 42 && substitute($l.day, 1) ||
        days < 30 && substitute($l.days, Math.round(days)) ||
        days < 45 && substitute($l.month, 1) ||
        days < 365 && substitute($l.months, Math.round(days / 30)) ||
        years < 1.5 && substitute($l.year, 1) ||
        substitute($l.years, Math.round(years));
    

    with this part, go only with converting to seconds

    see the fiddle: http://jsfiddle.net/zGXLU/1/

    0 讨论(0)
  • 2020-12-15 08:34

    jQuery is just a JavaScript library so JavaScript will just work within your jQuery script:

    // specified date:
    var oneDate = new Date("November 02, 2017 06:00:00");
    
    // number of milliseconds since midnight Jan 1 1970 till specified date
    var oneDateMiliseconds = oneDate.getTime();
    
    // number of milliseconds since midnight Jan 1 1970 till now
    var currentMiliseconds = Date.now(); 
    
    // return time difference in milliseconds
    var timePassedInMilliseconds = (currentMiliseconds-oneDateMiliseconds)/1000;
    alert(timePassedInMilliseconds);
    
    0 讨论(0)
  • 2020-12-15 08:39

    My working with time difference for calculating each value separately

    var start = new Date('Mon Jul 30 2018 19:35:35 GMT+0500');
    var end = new Date('Mon Jul 30 2018 21:15:00 GMT+0500');
    
    var hrs = end.getHours() - start.getHours();
    var min = end.getMinutes() - start.getMinutes(); 
    var sec = end.getSeconds() - start.getSeconds();  
    
    var hour_carry = 0;
    var minutes_carry = 0;
    if(min < 0){
           min += 60;
           hour_carry += 1;
       }
    hrs = hrs - hour_carry;
    if(sec < 0){
           sec += 60;
           minutes_carry += 1;
       }
    
    min = min - minutes_carry;
    
    console.log("hrs",hrs);
    console.log("min",min);
    console.log("sec",sec);
    console.log(hrs + "hrs " + min +"min " + sec + "sec");
    
    0 讨论(0)
  • 2020-12-15 08:39

    Get difference between two timestamps in

    Seconds: (get timestamp by new Date().getTime())

    diff_in_time = (timestamp_1 - timestamp2);
    

    In Days:

    diff_in_days = parseInt((timestamp_1 - timestamp2) / (1000 * 3600 * 24));
    
    0 讨论(0)
  • 2020-12-15 08:40

    assuming you parse the string into JavaScript date object, you can do (date2 - date1)/1000

    to parse mysql format timestamp, just feed the string into new Date():

     var d2 = new Date('2038-01-19 03:14:07');
     var d1 = new Date('2038-01-19 03:10:07');
    
     var seconds =  (d2- d1)/1000;
    

    fix of edit 2 in the question:

    <script type="text/javascript">
    $(function(){
    var d2 = new Date();
    var d1 = new Date("2014-02-02 23:54:04");
    $("a#timedif").html("Diff. Seconds : "+((d2-d1)/1000).toString());
     });
    

    0 讨论(0)
提交回复
热议问题