2012-12-09 106 views
0

我想做一個sql語句,它使用javascript通過時間戳進行查詢。在一定時間範圍內的SQL語句查詢結果

這是我如何設置我的時間戳:

var startTime = new Date(year, month, day, 0, 0); 
var endTime = new Date(year, month, day, 23, 59); 

我的SQL語句是:

'SELECT * FROM proximate.user WHERE join_timestamp >= $1 ' + 
'AND join_timestamp<=$2 ORDER BY user_id ASC'; 

$ 1 startTime和$ 2是終止時間。如果startTime爲Sat Dec 01 2012 00:00:00 GMT+0800 (SGT)且endTime爲Sat Dec 01 2012 23:59:00 GMT+0800 (SGT),則執行的語句返回結果,其中包括startTime之前一天的時間戳記。

任何人有任何想法爲什麼?

在此先感謝。

回答

1

我的猜測是,您會收到正確的結果,但忘記將返回的結果集的時間戳列轉換爲GMT + 8:「Sat Dec 01 2012 00:00:00 GMT + 0800」= Fri Nov 30 2012 16:00:00 UTC「。另一種選擇 - 以UTC傳遞日期,實際上取決於你想得到的東西:如果你需要12月1日GMT + 8加入的所有用戶,你需要轉換結果集,如果你需要12月1日加入的用戶UTC,通過UTC日期:「Sat Dec 01 2012 00:00:00 UTC」

相關問題