如何设置以下输出的日期函数

6tqwzwtp  于 2021-07-29  发布在  Java
关注(0)|答案(2)|浏览(263)

我希望全年的产量是这样的:

Jan 01 - Jan 14 - 2021
 Jan 15 - Jan 28 - 2021
 Jan 29 - Feb 11 - 2021
 Feb 12 - Feb 25 - 2021
 Feb 26 - Mar 11 - 2021
 Mar 12 - Mar 25 - 2021
 Mar 26 - Apr 08 - 2021
 Apr 09 - Apr 22 - 2021
 Apr 22 - May 06 - 2021
 May 07 - May 20 - 2021
 May 21 - Jun 03 - 2021
 Jun 04 - Jun 17 - 2021
 Jun 18 - Jul 01 - 2021
 Jul 02 - Jul 15 - 2021
 Jul 16 - Jul 29 - 2021
 Jul 30 - Aug 12 - 2021
 Aug 13 - Aug 26 - 2021
 Aug 27 - Sep 09 - 2021
 Sep 10 - Sep 23 - 2021
 Sep 24 - Oct 07 - 2021
 Oct 08 - Oct 21 - 2021
 Oct 22 - Nov 04 - 2021
 Nov 05 - Nov 18 - 2021
 Dec 19 - Dec 02 - 2021
 Dec 03 - Dec 16 - 2021
 Dec 17 - Dec 30 - 2021
ndh0cuux

ndh0cuux1#

一个选项使用 generate_series() :

select d.dt dt_start, d.dt + '13 days'::interval dt_end
from generate_series(
    date_trunc('year', current_date), 
    date_trunc('year', current_date) + '1 year'::interval - '13 days'::interval,
    '14 days'::interval
) d(dt)
order by dt_start
svdrlsy4

svdrlsy42#

SELECT to_char(d, 'Mon DD - ')
    || to_char(d + INTERVAL '13 days', 'Mon DD - YYYY')
FROM generate_series(
        TIMESTAMP '2021-01-01',
        TIMESTAMP '2021-12-17',
        INTERVAL '14 days'
     ) AS d;

        ?column?        
------------------------
 Jan 01 - Jan 14 - 2021
 Jan 15 - Jan 28 - 2021
 Jan 29 - Feb 11 - 2021
 Feb 12 - Feb 25 - 2021
 Feb 26 - Mar 11 - 2021
 Mar 12 - Mar 25 - 2021
 Mar 26 - Apr 08 - 2021
 Apr 09 - Apr 22 - 2021
 Apr 23 - May 06 - 2021
 May 07 - May 20 - 2021
 May 21 - Jun 03 - 2021
 Jun 04 - Jun 17 - 2021
 Jun 18 - Jul 01 - 2021
 Jul 02 - Jul 15 - 2021
 Jul 16 - Jul 29 - 2021
 Jul 30 - Aug 12 - 2021
 Aug 13 - Aug 26 - 2021
 Aug 27 - Sep 09 - 2021
 Sep 10 - Sep 23 - 2021
 Sep 24 - Oct 07 - 2021
 Oct 08 - Oct 21 - 2021
 Oct 22 - Nov 04 - 2021
 Nov 05 - Nov 18 - 2021
 Nov 19 - Dec 02 - 2021
 Dec 03 - Dec 16 - 2021
 Dec 17 - Dec 30 - 2021
(26 rows)

相关问题