Обсуждение: strptime string for timestamp with time zone
Hi, I'm trying to create a time format string for strptime (GNU,
FWIW) that will parse an unmodifed timestamptz string. No luck with
Google yet.
In other words how to parse, e.g. "2003-12-26 03:15:36.633421+00".
"%Y-%m-%d %T" gets as far as the floating point section of the seconds
and bails.
(How does +\d\d represent half-hour timezones? If it was the usual
+\d{4} strptime's %z could at least use it.)
Or, perhaps some way of having PG return it in a strptime-friendly way?
Thanks, Paul
--
Paul Makepeace ................................ http://paulm.com/ecademy
"What is chutzpah? Look inside yourself."
-- http://paulm.com/toys/surrealism/
Paul Makepeace writes:
> Hi, I'm trying to create a time format string for strptime (GNU,
> FWIW) that will parse an unmodifed timestamptz string. No luck with
> Google yet.
>
> In other words how to parse, e.g. "2003-12-26 03:15:36.633421+00".
> "%Y-%m-%d %T" gets as far as the floating point section of the seconds
> and bails.
>
> (How does +\d\d represent half-hour timezones? If it was the usual
> +\d{4} strptime's %z could at least use it.)
>
> Or, perhaps some way of having PG return it in a strptime-friendly way?
AFAIK - you can't do this simply. This is because struct tm does
not cater for fractional seconds. In addition (this is IMHO) neither
the C standard nor POSIX cater for time very well. The result
is that I always avoid having to parse such things by using the
various functions for timestamp offered by Postgres.
Regards,
Harry.
Paul Makepeace <postgresql.org@paulm.com> writes:
> Or, perhaps some way of having PG return it in a strptime-friendly way?
There's always to_char() ...
regards, tom lane