用JQuery比较小时和天

时间:2016-06-10 22:18:50

标签: javascript jquery math time

网站上有关于比较时间的类似主题,但我有一些不同的问题。我需要比较一个指定的时间和现在。

我有一些特定时间(商店的天数,营业时间和营业时间)例如:周一营业时间上午10:00 - 下午6:30结束

我想创建一个应用程序来检查时间并通知用户:商店是开放还是关闭,就像谷歌应用程序一样。

我需要找到现在和指定时间的减法结果:例如,如果日是星期一(结束时间是6:30),时间是下午5:20,结果将是1:10,这意味着商店是开放的,但我不知道如何将6:30转换为小时格式。

3 个答案:

答案 0 :(得分:3)

根据您提供的信息,您可以执行以下操作:

var time = "6:30",
    splitTime = time.split(':'),
    hours = splitTime[0],
    minutes = splitTime[1];

然后,您将拥有可以有效用于比较的小时和分钟变量。

答案 1 :(得分:3)

首先,设置默认时区:

date_default_timezone_set('Europe/Paris');

然后,您可以计算现在和关闭时间之间的差异:

$diff = strtotime('today 18:30') - strtotime(date('Y-m-d H:i'));
if ($diff > 0) 
    echo 'The shop is opening. Closed in ' . gmdate("H:i", $diff);
else
    echo 'The shop is closed. Please come back tomorrow.';

答案 2 :(得分:1)

据我所知,你可以通过

来实现
  • 将关闭小时/分钟存储在数组中,并将每个小时/分钟存储在变量中
  • 获取当前小时/分钟并将每个小时/分钟存储在变量中
  • 获取剩余时间/分钟
  • 如果有条件,则修复结果
    • 剩余小时数大于或等于1且剩余分钟小于0(减去)
    • 如果小时当前时间大于关闭时间

http://codepen.io/El-Oz/pen/beEOMv

window.onload = function () {

  'use strict'; 


  var closingTime, 
      closingHour,
      closingMin,

      currDate,
      currTime,
      currHour,
      currMin,

      remHours,
      remMin,

      remMessage;


  closingTime = ['18', '30'];

  /* Get Closing hours/minutes */
  closingHour = closingTime[0];
  closingMin = closingTime[1];


  currDate = new Date().toString().split(" ");
  currTime = currDate[4].split(':');

  /* Get Current hours/minutes */
  currHour = currTime[0];
  currMin = currTime[1];


  if (currHour >= 10) {

    /* Get remaining hours/minutes */
    remHours = closingHour - currHour;
    remMin = closingMin - currMin;

    if ( remHours >= 1 && remMin < 0) {
      remHours -= 1;
      remMin = 60 + remMin;
    }

    remMessage =  "Remaining Hours: " + remHours + "<br>" + " Remaining Minutes: " + remMin;

    if ( (remHours === 0 && remMin === 0 ) || (remHours === 0 && remMin < 0 ) || remHours < 0 ) {
      remMessage = " Sorry, The shop is closed!";
    }

  // if current hour less than 10
  } else {
    var remToOpen = 10 - currHour;
    remMessage = "The shop will be opened after " + remToOpen + ' hours';
  }

  document.querySelector('p').textContent = remMessage;

};
<p></p>