2014-03-07 339 views
-1

我有兩個來自用戶輸入的日期。我想從JSP這兩個日期來獲取和創建一個視圖,顯示的每一天,自己平日:從時間段獲取星期幾

2013-3-1 MONDAY 
2013-3-2 TUESDAY 
2013-3-3 WEDNESDAY 

用戶輸入的日期並給出JSP,說:

where start='2013-3-1' and end='2013-3-3' 

如何做到這一點?

+0

這種操作的術語是「日期算術」。 –

回答

0

試試這個:

select to_char(dt, 'yyyy-mm-dd') as date, to_char(dt, 'Day') as day 
from (select ('2013-03-01'::date + i) dt 
     from generate_series(0,'2013-03-03'::date - '2013-03-01'::date) as t(i)) as t; 

你應該參數查詢的日期部分。

在這個查詢中有幾個值得記住的要點。

  • 日期計算:減去兩個日期成爲兩個日期之間的日期數。
  • generate_series(0, n)產生0,1,...,N
+0

謝謝。如何將文本類型更改爲字符變化。或相反亦然。 – user3382017

+0

如何更改'generate_series()'的日期計算的日期類型postgresql – user3382017

+0

中的日期類型是不必要的。您可以直接使用日期/時間戳作爲參數。 –

1

這可以是簡單的:
Remove blank-padding from to_char() output

一般最好是:在這個問題以後

SELECT to_char(d, 'YYYY-MM-DD') AS day_txt 
    , to_char(d, 'FMDay')  AS weekday 
FROM generate_series('2013-03-01'::date 
        , '2013-03-03'::date 
        , interval '1 day') d; 

更多細節與實際date types一起操作,而不是與文本表示,但我不明白的細節或您的要求。