I have my timezone set to GMT so there really shouldn't be any time zone adjustments.
Mark On 9/2/09 10:01 PM, "Tom Lane" <t...@sss.pgh.pa.us> wrote: "Mark Douglas" <m...@steelhousemedia.com> writes: > The following use of DATE_TRUNC returns the wrong value. I called the > function on 2009-09-02. It should return '2009-09-01 00:00:00' for the > following usage: > SELECT DATE_TRUNC('MONTH', CURRENT_DATE); > It instead returns '2009-08-31 17:00:00. Really? What timezone setting are you using? I get postgres=# SELECT DATE_TRUNC('MONTH', CURRENT_DATE); date_trunc ------------------------ 2009-09-01 00:00:00-04 (1 row) with timezone set to 'America/New_York' or equivalent. This test might also be instructive: postgres=# select CURRENT_DATE::timestamptz; timestamptz ------------------------ 2009-09-03 00:00:00-04 (1 row) regards, tom lane