Re: [HACKERS] Date conversion using day of week
Brendan Jurd <direvus@gmail.com>
From: Brendan Jurd <direvus@gmail.com>
To: Adrian Klaver <adrian.klaver@gmail.com>
Cc: Steve Crawford <scrawford@pinpointresearch.com>, pgsql-general@postgresql.org, marc@bloodnok.com, hackers@postgresql.org
Date: 2011-03-31T16:58:48Z
Lists: pgsql-hackers
On 1 April 2011 03:32, Adrian Klaver <adrian.klaver@gmail.com> wrote: > Now I am confused the docs say: > > D day of the week, Sunday(1) to Saturday(7) > ID ISO day of the week, Monday(1) to Sunday(7) > > This would seem to say they both are one-based but differ on the day that is > 1. That's correct for the user-facing interpretation. Internally, however, Gregorian day-of-week is represented with Sunday = 0. I can't see any good reason in the code for why that should be so, but it was like that when I found it, and until now I haven't had any cause to mess with it. My suggestion for moving forward basically still stands, though. We'd need to standardise the use of TmFromChar.d to either one of the 1-based conventions, and convert to the other one as required in do_to_timestamp. The Gregorian convention is probably the right choice for the standard, even though it has the week starting on a Sunday (ridiculous!) because it means less converting for the majority of cases. Cheers, BJ