Javascript开放时间倒计时

Javascript开放时间倒计时,javascript,countdown,Javascript,Countdown,我想在我的网站上使用一个当地商店的营业时间倒计时。该店周一至周五营业时间为09:00至18:00,周六营业时间为10:00至16:30。 我想向用户展示商店在他们访问网站当天的营业时间。例如,一位用户在周二16:30出现在网站上,我想显示类似“亲爱的客户,我们的商店还将营业1,5小时”的内容。 如果商店已经关门了,我想展示一些类似于“我们现在关门了,但是欢迎你在周一9点参观商店。” 我在这里和其他地方做了很多研究,但我就是找不到适合这项任务的解决方案,所以我真的希望你能帮助我。首先你需要得到当前

我想在我的网站上使用一个当地商店的营业时间倒计时。该店周一至周五营业时间为09:00至18:00,周六营业时间为10:00至16:30。 我想向用户展示商店在他们访问网站当天的营业时间。例如,一位用户在周二16:30出现在网站上,我想显示类似“亲爱的客户,我们的商店还将营业1,5小时”的内容。 如果商店已经关门了,我想展示一些类似于“我们现在关门了,但是欢迎你在周一9点参观商店。”


我在这里和其他地方做了很多研究,但我就是找不到适合这项任务的解决方案,所以我真的希望你能帮助我。

首先你需要得到当前日期,然后是星期几,你可以这样做:

var currentdate = new Date();

// this will return a number between 0 and 6 indicating the day of the week.
// starting with 0 for Sunday.
var dayofweek = currentdate.getDay();
根据一周中的哪一天,您可以计算与以下类似的剩余时间:

//e.g Friday:
if(dayofweek==5)
{
    var closedate=new Date();
    closedate.setMinutes(0);
    closedate.setHours(18);

    // this will give you the difference between the current time and opening time.
    var diff = closedate.getTime()-currentdate.getTime();
    var diff_seconds = diff / 1000;
}

因为你需要根据一周中的哪一天来记录营业时间,所以你必须像其他人指出的那样首先掌握当前的营业时间。你可以这样做:

 var d = new Date();
 d.getDay(); //returns the day of the week. Monday is 1 and so on.
一旦有了一周中的某一天,只需使用以下工具获取当前时间:

 d.getHours();
 d.getMinutes();
 d.getSeconds();

一旦你有了这个表格中的时间。根据您的限制条件,您可以轻松计算出商店关闭的剩余时间。希望这能让您从正确的方向开始。

制作一个数组映射您的打开时间,0是星期天

var openTime = [ {open : -1, close : -1},
                 { open: 9, close : 18 },
                 { open: 9, close : 18 },
                 { open: 9, close : 18 },
                 { open: 9, close : 18 }, 
                 { open: 9, close : 18 },
                 { open: 10, close : 16.5 }
              ]
然后当用户来到页面时检查它

var current = new Date();
var day = current.getDay();
var currentTime = current.getHours() + (current.getMinutes()/60);
var remainTime = 0;
if (openTime[day].open >= 0 && openTime[day].open < currentTime && openTime[day].close > currentTime) {
         remainTime= (openTime[day].close  - currentTime).toFixed(2)
}
console.log("the shop will close in %s hours", remainTime);
var current=新日期();
var day=current.getDay();
var currentTime=current.getHours()+(current.getMinutes()/60);
var剩余时间=0;
如果(openTime[day]。打开>=0&&openTime[day]。打开currentTime){
remainTime=(开放时间[天]。关闭-当前时间)。toFixed(2)
}
console.log(“商店将在%s小时后关闭”,remainTime);

你做了很多研究。2秒后发现。你考虑过雇佣程序员吗?我们很乐意帮助您解决代码问题,而不是免费为您编写应用程序。如果您尝试了某些操作并需要帮助,请向我们展示您尝试过的代码以及您的代码存在的问题。修复逻辑打开,关闭这看起来非常好。我怎样才能在某个房间里打发时间?我试过了,但是看起来也有一些错误,商店关门后我怎么能再添加一条消息呢?好像你不懂程序员的基本知识,如果你不是程序员也没关系,但是很糟糕,但是是的。修正:非常感谢你。我只是在学习,我仍然经常被一些代码弄糊涂。你能帮我在商店关门时如何显示不同的信息吗?你看到我在上面写的
if
-语句了吗?如果跳转到
如果
,则表示您的店铺正在营业。所以,考虑一下
else
-语句,然后自己修复它。