time format

Started by ivanabout 22 years ago11 messages
#1ivan
iv@psycho.pl

how can i change default time format because now i have for example
2004-01-01 16:51:46.995927 but i want only 2004-01-01 16:51:46, with out
millisec. a tryed with Data-Style but there arent custom style :/

#2Christopher Kings-Lynne
chriskl@familyhealth.com.au
In reply to: ivan (#1)
Re: time format

Create table with type TIMESTAMP(0)

Chris

ivan wrote:

Show quoted text

how can i change default time format because now i have for example
2004-01-01 16:51:46.995927 but i want only 2004-01-01 16:51:46, with out
millisec. a tryed with Data-Style but there arent custom style :/

---------------------------(end of broadcast)---------------------------
TIP 6: Have you searched our list archives?

http://archives.postgresql.org

#3ivan
iv@psycho.pl
In reply to: Christopher Kings-Lynne (#2)
Re: time format

but what about default style ?
first time when i saw DateStyle i thought that i can use it like C/C++
function strftime. I would be not bad idea to have custom data style :)

On Fri, 2 Jan 2004, Christopher Kings-Lynne wrote:

Show quoted text

Create table with type TIMESTAMP(0)

Chris

ivan wrote:

how can i change default time format because now i have for example
2004-01-01 16:51:46.995927 but i want only 2004-01-01 16:51:46, with out
millisec. a tryed with Data-Style but there arent custom style :/

---------------------------(end of broadcast)---------------------------
TIP 6: Have you searched our list archives?

http://archives.postgresql.org

---------------------------(end of broadcast)---------------------------
TIP 1: subscribe and unsubscribe commands go to majordomo@postgresql.org

#4Kurt Roeckx
Q@ping.be
In reply to: ivan (#3)
Re: time format

On Sat, Jan 03, 2004 at 09:25:14AM +0100, ivan wrote:

but what about default style ?
first time when i saw DateStyle i thought that i can use it like C/C++
function strftime. I would be not bad idea to have custom data style :)

Use to_char() function to put it in any format you want.

Kurt

#5ivan
iv@psycho.pl
In reply to: Kurt Roeckx (#4)
Re: time format

ok, bat each time where i want to do select .. a nie tu use to_char,
but it should be in function timestamp_out to convert time to string
it would be easer and faster.

On Sat, 3 Jan 2004, Kurt Roeckx wrote:

Show quoted text

On Sat, Jan 03, 2004 at 09:25:14AM +0100, ivan wrote:

but what about default style ?
first time when i saw DateStyle i thought that i can use it like C/C++
function strftime. I would be not bad idea to have custom data style :)

Use to_char() function to put it in any format you want.

Kurt

---------------------------(end of broadcast)---------------------------
TIP 8: explain analyze is your friend

#6Martin Marques
martin@bugs.unl.edu.ar
In reply to: ivan (#5)
Re: time format

El Sáb 03 Ene 2004 18:20, ivan escribió:

ok, bat each time where i want to do select .. a nie tu use to_char,
but it should be in function timestamp_out to convert time to string
it would be easer and faster.

Look deeper into what Christopher said and use casting to get the right
output:

prueba=> select now();
now
-------------------------------
2004-01-04 09:53:41.131079-03
(1 row)

prueba=> select now()::timestamp(0);
now
---------------------
2004-01-04 09:53:43
(1 row)

Get the difference?

--
09:52:01 up 39 days, 16:08, 2 users, load average: 0.60, 0.71, 0.72
-----------------------------------------------------------------
Martín Marqués | select 'mmarques' || '@' || 'unl.edu.ar'
Centro de Telematica | DBA, Programador, Administrador
Universidad Nacional
del Litoral
-----------------------------------------------------------------

#7Tom Lane
tgl@sss.pgh.pa.us
In reply to: Martin Marques (#6)
Re: time format

Martin Marques <martin@bugs.unl.edu.ar> writes:

Look deeper into what Christopher said and use casting to get the right
output:
prueba=> select now()::timestamp(0);

There's also "current_timestamp(0)", which is a more standards-compliant
way of doing the same thing.

regards, tom lane

#8ivan
iv@psycho.pl
In reply to: Tom Lane (#7)
Re: time format

i know, but i talking about default time output, it would be for
time, date and date with time, not formating all the time.

On Sun, 4 Jan 2004, Tom Lane wrote:

Show quoted text

Martin Marques <martin@bugs.unl.edu.ar> writes:

Look deeper into what Christopher said and use casting to get the right
output:
prueba=> select now()::timestamp(0);

There's also "current_timestamp(0)", which is a more standards-compliant
way of doing the same thing.

regards, tom lane

#9Martin Marques
martin@bugs.unl.edu.ar
In reply to: Tom Lane (#7)
Re: time format

Quoting Tom Lane <tgl@sss.pgh.pa.us>:

Martin Marques <martin@bugs.unl.edu.ar> writes:

Look deeper into what Christopher said and use casting to get the right
output:
prueba=> select now()::timestamp(0);

There's also "current_timestamp(0)", which is a more standards-compliant
way of doing the same thing.

Didn�t know that existed. :-)

Anyway, my observation was not on the now() function, but at the casting. He
wants the output of th select over a timestamp field to come out without the
milliseconds, which is done with the casting.

Now, seeing your mail I realize that what he may want is this:

CREATE TABLE table_name (
.....
time_field timestamp(0)
);

Remember you will lose those milliseconds for ever with this table definition.

--
Porqu� usar una base de datos relacional cualquiera,
si pod�s usar PostgreSQL?
-----------------------------------------------------------------
Mart�n Marqu�s | mmarques@unl.edu.ar
Programador, Administrador, DBA | Centro de Telematica
Universidad Nacional
del Litoral
-----------------------------------------------------------------

#10Karel Zak
zakkr@zf.jcu.cz
In reply to: ivan (#5)
Re: time format

On Sat, Jan 03, 2004 at 10:20:57PM +0100, ivan wrote:

ok, bat each time where i want to do select .. a nie tu use to_char,
but it should be in function timestamp_out to convert time to string
it would be easer and faster.

I don't think it will too much faster :-)

BTW, for example the Oracle allows to define default date/time output
format by same way as for to_char().

TODO (?):

SET TIMESTAMP_FORMAT = 'MM/DD/YYYY HH24:MI:SS';

SELECT 'now'::timestamp;
timestamp
----------------------------
01/05/2004 10:25:01

But it require check (be sure) that defined format is possible without
problems convert back from string to timestamp. For this Thomas didn't
like this idea.

I think dynamic timestamp format is final solution of all problems with
PostgreSQL date/time formats.

Comments?

Karel

On Sat, 3 Jan 2004, Kurt Roeckx wrote:

On Sat, Jan 03, 2004 at 09:25:14AM +0100, ivan wrote:

but what about default style ?
first time when i saw DateStyle i thought that i can use it like C/C++
function strftime. I would be not bad idea to have custom data style :)

Use to_char() function to put it in any format you want.

Kurt

---------------------------(end of broadcast)---------------------------
TIP 8: explain analyze is your friend

---------------------------(end of broadcast)---------------------------
TIP 9: the planner will ignore your desire to choose an index scan if your
joining column's datatypes do not match

--
Karel Zak <zakkr@zf.jcu.cz>
http://home.zf.jcu.cz/~zakkr/

#11ivan
iv@psycho.pl
In reply to: Karel Zak (#10)
Re: time format

there can be same problems with back convering, but its would be only
when select is going out, to cstring form, and all its depend on user,
but this is ok :)

On Mon, 5 Jan 2004, Karel Zak wrote:

Show quoted text

On Sat, Jan 03, 2004 at 10:20:57PM +0100, ivan wrote:

ok, bat each time where i want to do select .. a nie tu use to_char,
but it should be in function timestamp_out to convert time to string
it would be easer and faster.

I don't think it will too much faster :-)

BTW, for example the Oracle allows to define default date/time output
format by same way as for to_char().

TODO (?):

SET TIMESTAMP_FORMAT = 'MM/DD/YYYY HH24:MI:SS';

SELECT 'now'::timestamp;
timestamp
----------------------------
01/05/2004 10:25:01

But it require check (be sure) that defined format is possible without
problems convert back from string to timestamp. For this Thomas didn't
like this idea.

I think dynamic timestamp format is final solution of all problems with
PostgreSQL date/time formats.

Comments?

Karel

On Sat, 3 Jan 2004, Kurt Roeckx wrote:

On Sat, Jan 03, 2004 at 09:25:14AM +0100, ivan wrote:

but what about default style ?
first time when i saw DateStyle i thought that i can use it like C/C++
function strftime. I would be not bad idea to have custom data style :)

Use to_char() function to put it in any format you want.

Kurt

---------------------------(end of broadcast)---------------------------
TIP 8: explain analyze is your friend

---------------------------(end of broadcast)---------------------------
TIP 9: the planner will ignore your desire to choose an index scan if your
joining column's datatypes do not match

--
Karel Zak <zakkr@zf.jcu.cz>
http://home.zf.jcu.cz/~zakkr/