PG::TextDecoder::

TimestampWithTimeZone class

This is a decoder class for conversion of PostgreSQL text timestamps to Ruby Time objects.

The following flags can be used to specify time interpretation when no timezone is given:

  • PG::Coder::TIMESTAMP_DB_UTC : Interpret timestamp as UTC time (default)

  • PG::Coder::TIMESTAMP_DB_LOCAL : Interpret timestamp as local time

  • PG::Coder::TIMESTAMP_APP_UTC : Return timestamp as UTC time (default)

  • PG::Coder::TIMESTAMP_APP_LOCAL : Return timestamp as local time

Example:

deco = PG::TextDecoder::Timestamp.new(flags: PG::Coder::TIMESTAMP_DB_UTC | PG::Coder::TIMESTAMP_APP_LOCAL)
deco.decode("2000-01-01 00:00:00")  # => 2000-01-01 01:00:00 +0100
deco.decode("2000-01-01 00:00:00.123-06")  # => 2000-01-01 00:00:00 -0600