2012-01-05 64 views
0

我面對的一個併發症少,在這樣的邏輯,請幫我....查找最近的時間給定數組時

這樣的事情是:

我有次在一個列表類似

上午9點,上午9點30分,上午10點,上午10點30分,上午11點,上午11點30分,下午12點,下午12點30分,下午1點,1:30 pm ...........

所以現在如果我給了一個隨機的時間像10:42 am邏輯應該是這樣的應該返回10:30

請幫我出這個邏輯........

它幫助很多,如果它是SQL語句...

任何幫助非常感激 。 。 。 。 。

謝謝

+1

JavaScript和SQL的標籤? Err – fge 2012-01-05 09:38:02

+0

@fge它可以幫助我兩種方式,我可以使用javascript代碼和sql語句.... – 2012-01-05 09:39:47

回答

3

首先,擺脫你am/pm預選賽 - 使用24小時制。更好的是,從午夜開始使用秒或分鐘。

如果你這樣做,你就可以只使用:

SELECT time, ABS(time - usertime) AS diff 
FROM  mytable 
ORDER BY diff 
LIMIT 1 

這實際上是MySQL的語法,但它應該很容易地移植到SQLite的。

0

SQL很可能是首選:

select max(datecol) from thetimetable where datecol <= thewantedtime 
+0

這會找到下一次_on或before_請求的時間,不一定是最近的,這可能是之後。 – Alnitak 2012-01-05 10:34:44

+0

是的,但目前還不清楚這是否是我需要的東西...... – fge 2012-01-05 11:09:50

相關問題