我有餐廳業務startTime和endTime爲今天日期。如果startTime小於當前時間,在這種情況下如何計算正確的時間?
我有一個要求,因爲這樣對現在訂購,這取決於餐館startTime
和endTime
按鈕按下時,我需要顯示一個警告meesage 說服務將在明年XX分鐘
這是我的簡歷我的代碼
var startTime = '04:00 PM';
var endTime = '5:30 PM';
var now = new Date();
var startDate = dateObj(startTime);
var endDate = dateObj(endTime);
var openorclosed = now < endDate && now > startDate ? 'open' : 'closed';
if(openorclosed=='open')
{
alert('Restaurant is Open');
// do nothing
}
else if(openorclosed=='closed')
{
var diffinMinutes = getMinutesBetweenDates(startDate,now);
var minutes = Math.floor(diffinMinutes);
alert('service not available for the next '+minutes+' min');
}
function dateObj(d) {
var parts = d.split(/:|\s/),
date = new Date();
if (parts.pop().toLowerCase() == 'pm') parts[0] = (+parts[0]) + 12;
date.setHours(+parts.shift());
date.setMinutes(+parts.shift());
return date;
}
function getMinutesBetweenDates(startDate, now) {
var diff = startDate.getTime() - now.getTime();
return (diff/60000);
}
如果開始時間比當前時間更大然後它的工作完美(顯示correclty)
但是,如果開始時間比當前時間較少那麼它的顯示值在負值
有誰請讓我知道如何在幾分鐘內顯示correclty櫃面STARTTIME較小?
這是我的jsfiddle
http://jsfiddle.net/wajzvqqx/1/
非常感謝你。
你確定你不知道如何對值進行比較,以瞭解哪些一個是最大的? – melancia 2014-10-08 12:12:54
你怎麼知道餐廳在哪個時區?或者用戶? – RobG 2014-10-08 12:15:13