How to get the time zone offset
I need to convert timestamp to a format with a time zone offset, like this:
select clock_timestamp()::text;
and it returns the following value:
"2011-12-30 11:59:06.538+01"
What is the default format for timestamp::text conversion? I've tried this:
select to_char(clock_timestamp(), 'YYYY-MM-DD HH24:MI:SSTZ');
But it gives me "CET" instead of "+01":
"2011-12-30 11:59:06CET"
--
____________________________________________________________________
Cezariusz Marek mob: +48 608 646 494
http://www.comarch.com/ tel: +48 33 815 0734
____________________________________________________________________
On Friday, December 30, 2011 6:18:05 am Cezariusz Marek wrote:
I need to convert timestamp to a format with a time zone offset, like this:
select clock_timestamp()::text;
and it returns the following value:
"2011-12-30 11:59:06.538+01"
What is the default format for timestamp::text conversion? I've tried this:
select to_char(clock_timestamp(), 'YYYY-MM-DD HH24:MI:SSTZ');
But it gives me "CET" instead of "+01":
"2011-12-30 11:59:06CET"
Maybe I am not understanding what you want, but why not:
select clock_timestamp()::text;
It gives you the format you want.
--
Adrian Klaver
adrian.klaver@gmail.com
Adrian Klaver wrote:
On Friday, December 30, 2011 6:18:05 am Cezariusz Marek wrote:
I need to convert timestamp to a format with a time zone offset, like this:
select clock_timestamp()::text;
and it returns the following value:
"2011-12-30 11:59:06.538+01"
What is the default format for timestamp::text conversion? I've tried this:
select to_char(clock_timestamp(), 'YYYY-MM-DD HH24:MI:SSTZ');
But it gives me "CET" instead of "+01":
"2011-12-30 11:59:06CET"Maybe I am not understanding what you want, but why not:
select clock_timestamp()::text;
It gives you the format you want.
Because I need more control. In this case I need the date in XML format, so it will be
something like this:
select to_char(clock_timestamp(), 'YYYY-MM-DD"T"HH24:MI:SSTZ');
Is the timestamp::text format always the same, regardless of the current locale and
language settings?
--
____________________________________________________________________
Cezariusz Marek mob: +48 608 646 494
http://www.comarch.com/ tel: +48 33 815 0734
____________________________________________________________________
On Friday, December 30, 2011 8:19:51 am Cezariusz Marek wrote:
Because I need more control. In this case I need the date in XML format, so
it will be something like this:select to_char(clock_timestamp(), 'YYYY-MM-DD"T"HH24:MI:SSTZ');
So something like this:
test(5432)postgres=#select to_char(clock_timestamp(), 'YYYY-MM-DD"T"HH24:MI:SS') || extract(timezone_hour from clock_timestamp());
?column?
-----------------------
2011-12-30T08:34:22-8
Is the timestamp::text format always the same, regardless of the current
locale and language settings?
I don't know.
--
Adrian Klaver
adrian.klaver@gmail.com
On Friday, December 30, 2011 8:19:51 am Cezariusz Marek wrote:
Is the timestamp::text format always the same, regardless of the current
locale and language settings?
Now I have an answer. It can be changed via the DateStyle setting in postgresql.conf
So for my previous setting of (iso,mdy) I got:
test(5432)postgres=#select clock_timestamp()::text;
clock_timestamp
-------------------------------
2011-12-30 08:56:39.019038-08
Changing the setting to (sql,mdy) resulted in:
test(5432)postgres=#select clock_timestamp()::text;
clock_timestamp
--------------------------------
12/30/2011 08:55:48.554618 PST
--
Adrian Klaver
adrian.klaver@gmail.com
Cezariusz Marek wrote:
I need to convert timestamp to a format with a time zone offset, like this:
[...]
I'm very sorry for multiple posting, those messages were holded because of some filters,
and now apparently someone approved them.
--
____________________________________________________________________
Cezariusz Marek mob: +48 608 646 494
http://www.comarch.com/ tel: +48 33 815 0734
____________________________________________________________________