javascript年、月、日倒计时

javascript年、月、日倒计时,javascript,countdown,Javascript,Countdown,我正在尝试使用javascript进行倒计时。然而,我的倒计时只能计算天、小时、分和秒。我还想展示年份和月份 以下是我的代码: <script type="text/javascript"> today = new Date(); BigDay = new Date("December 25, 2016"); msPerDay = 24 * 60 * 60 * 1000; timeLeft = (BigDay.get

我正在尝试使用javascript进行倒计时。然而,我的倒计时只能计算天、小时、分和秒。我还想展示年份和月份

以下是我的代码:

<script type="text/javascript">

        today = new Date();

        BigDay = new Date("December 25, 2016");
        msPerDay = 24 * 60 * 60 * 1000;
        timeLeft = (BigDay.getTime() - today.getTime());
        e_daysLeft = timeLeft / msPerDay;
        daysLeft = Math.floor(e_daysLeft);
        e_hrsLeft = (e_daysLeft - daysLeft) * 24;
        hrsLeft = Math.floor(e_hrsLeft);
        minsLeft = Math.floor((e_hrsLeft - hrsLeft) * 60);
        // $("#countdown").append("There are only<BR> <H4>" + daysLeft + " days " + hrsLeft + " hours and " + minsLeft + " minutes left </H4> Until December 25th 2020<P>");
        document.write(daysLeft + " days " + hrsLeft + " hours" + minsLeft + " minutes");

</script>

今天=新日期();
BigDay=新日期(“2016年12月25日”);
msPerDay=24*60*60*1000;
timeLeft=(BigDay.getTime()-today.getTime());
e_daysLeft=时间间隔/毫秒/天;
daysLeft=数学楼层(e_daysLeft);
e_hrsLeft=(e_daysLeft-daysLeft)*24;
hrsLeft=数学楼层(e_hrsLeft);
分钟左=数学楼层((e_hrsLeft-hrsLeft)*60);
//$(“#倒计时”)。追加(“到2020年12月25日,只剩下+daysLeft+“days”+hrsLeft+“hours”和“+minsLeft+”分钟

”; 文件写入(daysLeft+“天”+hrsLeft+“小时”+minsLeft+“分钟”);

我想输出:

还剩x年,y个月,z天


你在正确的轨道上。 如果天数超过365,只需按照相同的方法将天数除以365,然后进行daysLeft模365运算

(虽然它不会精确,但它很简单,如果不需要精确的单位,可以使用它。)

var today=新日期();
var BigDay=新日期(“2018年12月25日”);
var msPerDay=24*60*60*1000;
var timeLeft=(BigDay.getTime()-today.getTime());
var e_daysLeft=时间间隔/毫秒/天;
var daysLeft=数学楼层(e_daysLeft);
var yearsLeft=0;
如果(daysLeft>365){
yearsLeft=数学楼层(daysLeft/365);
daysLeft=daysLeft%365;
}
var e_hrsLeft=(e_daysLeft-daysLeft)*24;
var hrsLeft=数学楼层(e_hrsLeft);
var minsLeft=数学楼层((e_hrsLeft-hrsLeft)*60);

文件写入(年数+年数+日数+日数+小时数+分钟数)您走在正确的轨道上。 如果天数超过365,只需按照相同的方法将天数除以365,然后进行daysLeft模365运算

(虽然它不会精确,但它很简单,如果不需要精确的单位,可以使用它。)

var today=新日期();
var BigDay=新日期(“2018年12月25日”);
var msPerDay=24*60*60*1000;
var timeLeft=(BigDay.getTime()-today.getTime());
var e_daysLeft=时间间隔/毫秒/天;
var daysLeft=数学楼层(e_daysLeft);
var yearsLeft=0;
如果(daysLeft>365){
yearsLeft=数学楼层(daysLeft/365);
daysLeft=daysLeft%365;
}
var e_hrsLeft=(e_daysLeft-daysLeft)*24;
var hrsLeft=数学楼层(e_hrsLeft);
var minsLeft=数学楼层((e_hrsLeft-hrsLeft)*60);

文件写入(年数+年数+日数+日数+小时数+分钟数)月实际上包含不同的天数。有的是30天,有的是31天。二月更糟糕,包含28天,每4年增加一天(闰年)。 显示“年”的数量将不那么繁重,但仍有闰年需要处理

因此,没有任何简单的方法精确计算它们

对于演示计算年、月和周的代码, 检查此页面:


虽然这不是一个简单的方法,但它尽可能精确地工作和计算单位。

月实际上包含不同的天数。有的是30天,有的是31天。二月更糟糕,包含28天,每4年增加一天(闰年)。 显示“年”的数量将不那么繁重,但仍有闰年需要处理

因此,没有任何简单的方法精确计算它们

对于演示计算年、月和周的代码, 检查此页面:


尽管这不是一个简单的方法,但它的工作原理和计算单位都尽可能精确。

我可以告诉你的是,这在跨浏览器时无法可靠地工作:
新日期(“2016年12月25日”)
。该字符串的格式不正确。如果你知道日期,你根本不想用字符串来表示;相反:
新日期(2016年11月25日)
(运行月份
0-11
)。还要注意的是,你正沦为受害者。(很抱歉没有回答,但我现在没有时间调试整个脚本。)非常感谢您的建议。我会遵循它。用日期对象方法检查这个答案:我可以告诉你的一件事是,这在跨浏览器时无法可靠地工作:
新日期(“2016年12月25日”)
。该字符串的格式不正确。如果你知道日期,你根本不想用字符串来表示;相反:
新日期(2016年11月25日)
(运行月份
0-11
)。还要注意的是,你正沦为受害者。(很抱歉没有回答,但我现在没有时间调试整个脚本。)非常感谢您的建议。用Date对象方法检查这个答案:你好,Gerard,非常感谢你的帮助。它工作得很好。再次感谢你给了我宝贵的时间。还有366天。耶,我知道,我担心闰年。现在我想只显示day min sec。谢谢你的建议。@sandy别那么轻易放弃。解决这个问题就行了。这是一个基于数学的问题。只需在闰年的年份上加上额外的一天。我们可以给你代码,但我们不能为你思考。你好,杰拉德,非常感谢你的帮助。它工作得很好。再次感谢你给了我宝贵的时间。还有366天。耶,我知道,我担心闰年。现在我想只显示day min sec。谢谢你的建议。@sandy别那么轻易放弃。解决这个问题就行了。这是一个基于数学的问题。只需在闰年的年份上加上额外的一天。我们可以给你代码,但我们不能为你思考。