网站上有关于比较时间的类似主题,但我有一些不同的问题。我需要比较一个指定的时间和现在。
我有一些特定时间(商店的天数,营业时间和营业时间)例如:周一营业时间上午10:00 - 下午6:30结束
我想创建一个应用程序来检查时间并通知用户:商店是开放还是关闭,就像谷歌应用程序一样。
我需要找到现在和指定时间的减法结果:例如,如果日是星期一(结束时间是6:30),时间是下午5:20,结果将是1:10,这意味着商店是开放的,但我不知道如何将6:30转换为小时格式。
答案 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)
据我所知,你可以通过
来实现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>