如何计算和显示自用户首次访问网站以来经过的小时数?

时间:2015-05-19 05:24:20

标签: javascript jquery

我想知道如何完成hoursSinceFirstVisit()函数。我还会在HTML页面中显示什么?

$(document).ready(function() {

    startTimer();

});

function startTimer() {
    setInterval(function() {
        var text = "It's been " + hoursSinceFirstVisit() + " hours since you first visited.";
        $('#timer').text(text);
    }, 1000);
}

function hoursSinceFirstVisit() {

    // use local storage to calculate the time elapsed between the user's first visit and now

}

/**
 * Calculates the number of hours between two dates to 3 decimal places
 * @param {Date|string} earlier The earlier date.
 * @param {Date|string} later   The later date.
 */
function hoursBetweenDates(earlier, later) {
    var later = typeof later == 'string' ? new Date(later) : later;
    var earlier = typeof earlier == 'string' ? new Date(earlier) : earlier;
    var elapsed = later - earlier;
    console.log(earlier, later, elapsed);
    return (elapsed / 1000 / 60 / 60).toFixed(3);
}

我想知道如何完成hoursSinceFirstVisit()函数。我还会在HTML页面中显示什么?

2 个答案:

答案 0 :(得分:1)

你可以试试这个:

function hoursSinceFirstVisit() {
    var d = new Date(localStorage.getItem("timestamp")); //get timestamp from localStorage
    d = d.getTime(); //convert to milliseconds
    var D = new Date().getTime();
    var diff = D - d; //difference in milliseconds
    var hours = (diff / 60000) / 60;
    return hours
}

答案 1 :(得分:0)

试试这个:

$(document).ready(function() {
    startTimer();
});

function startTimer() {
    var visitTime = +new Date(); // Get current timestamp

    setInterval(function() {
        var now = +new Date(); // Get current timestamp

        var seconds = (now - visitTime) / 1000; // Difference between now and visited time in seconds

        // To convert into minutes
        // var minutes = text / 60;
        $('#timer').text(seconds);
    }, 1000);
}