Обсуждение: BUG #16192: Function to_char(date,'IW') return incorrect value for last days of a year
BUG #16192: Function to_char(date,'IW') return incorrect value for last days of a year
От
PG Bug reporting form
Дата:
The following bug has been logged on the website: Bug reference: 16192 Logged by: Olivier Delemar Email address: olivier.delemar@free.fr PostgreSQL version: 9.6.6 Operating system: Linux Description: According to ISO 8691 specifications, the first week of a year is the week containing the first thursday of the year. Thus, the 30 and 31 of december 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 « help » pour l'aide. # select to_char('2019-12-30'::date, 'YYYY-IW'); to_char --------- 2019-01 (1 ligne) Temps : 152,799 ms
Re: BUG #16192: Function to_char(date,'IW') return incorrect valuefor last days of a year
От
Thomas Kellerer
Дата:
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 week > containing the first thursday of the year. Thus, the 30 and 31 of december > 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 « help » 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');