在javascript中计算同一天的现在和未来时间之间的时差

Posted

技术标签:

【中文标题】在javascript中计算同一天的现在和未来时间之间的时差【英文标题】:Calculating time diffrence between now and future time of same day in javascript 【发布时间】:2014-07-30 15:52:52 【问题描述】:

我是 java 脚本的新手,我需要有关如何获取现在和今天晚上 9 点之间的时差的帮助(假设现在的时间不到晚上 9 点)。如果可能的话,我特别希望秒部分能够动态改变/减少。 H:请用 M S 格式。非常感谢您的帮助

【问题讨论】:

你自己有没有努力解决这个问题? How do I get the difference between two Dates in javascript?的可能重复 【参考方案1】:

使用这个:* Updated - With Days Hours Minutes and Seconds *

showDiff();

function showDiff()
    var date1 = new Date();    
    var date2 = new Date("2015/07/30 21:59:00");
    //Customise date2 for your required future time

    var diff = (date2 - date1)/1000;
    var diff = Math.abs(Math.floor(diff));

    var days = Math.floor(diff/(24*60*60));
    var leftSec = diff - days * 24*60*60;

    var hrs = Math.floor(leftSec/(60*60));
    var leftSec = leftSec - hrs * 60*60;

    var min = Math.floor(leftSec/(60));
    var leftSec = leftSec - min * 60;

    document.getElementById("showTime").innerhtml = "You have " + days + " days " + hrs + " hours " + min + " minutes and " + leftSec + " seconds before death.";

setTimeout(showDiff,1000);

为您的 HTML 代码:

<div id="showTime"></div>

【讨论】:

感谢您的回复。我是否可以将 date2 变量设置为今天晚上 9 点,而无需手动输入代码 2015/07/30?【参考方案2】:

这是一些未经测试的代码,应该会在晚上 9:00 之前为您提供几小时和几分钟

var hoursToday = 21; // the 9 in 9:00 PM
var minutesToday = 0; // the 00 in 9:00 PM

var d = new Date();
var hoursNow = d.getHours();
var minutesNow = d.getMinutes();

var hoursLeft = hoursToday - hoursNow;
var minutesLeft = minutesToday - minutesNow;

【讨论】:

以上是关于在javascript中计算同一天的现在和未来时间之间的时差的主要内容,如果未能解决你的问题,请参考以下文章

云计算在未来发展中的重要性体现在哪里?

在 C# 中计算未来纪元时间

用JavaScript编写计算日期

激荡十年:云计算的过去现在和未来

为什么Docker是云计算必然的现在和未来

第一次作业:回顾现在,展望未来