Re: BUG #16192: Function to_char(date,'IW') return incorrect value for last days of a year

Thomas Kellerer <[email protected]> Mon, 6 Jan 2020 10:12:06 +0100
Newsgroups gmane.comp.db.postgresql.bugs
Message-ID <[email protected]>
PG Bug reporting form schrieb am 06.01.2020 um 09:39:
> According to ISO 8691 specifications, the first week of a year is the we=
ek
> containing the first thursday of the year. Thus, the 30 and 31 of decemb=
er
> 2019 should be in the first week of 2020, but "to_char" set them in the
> first week of... 2019!
>
> [postgres] $ psql
> psql (9.6.6)
> Saisissez =C2=AB help =C2=BB pour l'aide.
>
> # select to_char('2019-12-30'::date, 'YYYY-IW');
>   to_char
> ---------
>   2019-01
> (1 ligne)

Not a bug.

To get the year corresponding to the ISO week, you need to use the format =
for the "ISO Year"

select to_char('2019-12-30'::date, 'IYYY-IW');