Обсуждение: extracting date information?
Any hints or clues on this one?
Using Postgresql6.3 and PHP2
I have a simple database with a list of events, one of the fields is of
the data type "date".
When I call this information from the database, it prints out the date
in the form of "1998-05-05"
What I would really like to do, when this date is retrieved, Is to
format it something like "Thursday May 5, 1998" Anything more
descriptive than "1998-05-05" would be great.
I've tried using the "date(format,date)" call from PHP by saving the
date in a variable, then:
echo date("YMdl","$thedate");
But when it is displayed it always prints out this date:
"1969Dec31Wednesday"
Any suggestions or comments would be appreciated.
Kevin
--
------------------------------------------------------------------
Kevin Heflin | ShreveNet, Inc. | Ph:318.222.2638 x103
VP/Mac Tech | 333 Texas St #619 | FAX:318.221.6612
kheflin@shreve.net | Shreveport, LA 71101 | http://www.shreve.net
------------------------------------------------------------------
On Mon, 18 May 1998, Kevin Heflin wrote:
> Any hints or clues on this one?
> Using Postgresql6.3 and PHP2
>
> I have a simple database with a list of events, one of the fields is of
> the data type "date".
>
> When I call this information from the database, it prints out the date
> in the form of "1998-05-05"
>
> What I would really like to do, when this date is retrieved, Is to
> format it something like "Thursday May 5, 1998" Anything more
> descriptive than "1998-05-05" would be great.
>
> I've tried using the "date(format,date)" call from PHP by saving the
> date in a variable, then:
> echo date("YMdl","$thedate");
>
> But when it is displayed it always prints out this date:
> "1969Dec31Wednesday"
>
> Any suggestions or comments would be appreciated.
>
If you use "datetime" type instead of "date" and set datestyle = 'Postgres'
your data will be like: Sat Dec 12 00:00:00 1998 CET
instead of: 1998-12-12
Jose'
On Tue, 19 May 1998, Jose' Soares Da Silva wrote: > If you use "datetime" type instead of "date" and set datestyle = 'Postgres' > your data will be like: Sat Dec 12 00:00:00 1998 CET > instead of: 1998-12-12 I actually stumbled across this after my initial post. Now that my dates are being retreived in this format: Sat Dec 12 00:00:00 1998 CET Is there a way to format this to leave off the "time" portion and maybe the "timezone" info ? -------------------------------------------------------------------- Kevin Heflin | ShreveNet, Inc. | Ph:318.222.2638 x103 VP/Mac Tech | 333 Texas St #619 | FAX:318.221.6612 kheflin@shreve.net | Shreveport, LA 71101 | http://www.shreve.net --------------------------------------------------------------------
On Tue, 19 May 1998, Kevin Heflin wrote:
> On Tue, 19 May 1998, Jose' Soares Da Silva wrote:
>
> > If you use "datetime" type instead of "date" and set datestyle = 'Postgres'
> > your data will be like: Sat Dec 12 00:00:00 1998 CET
> > instead of: 1998-12-12
>
> I actually stumbled across this after my initial post.
>
> Now that my dates are being retreived in this format:
> Sat Dec 12 00:00:00 1998 CET
>
> Is there a way to format this to leave off the "time" portion and maybe
> the "timezone" info ?
try this:
prova=> select c from a;
mydate
----------------------------
Sat Dec 12 00:00:00 1998 CET
(1 row)
prova=> select substring(cast(c as text) from 1 for 10)||substring(cast(c as
text) from 20 for 5) from a;
?column?
---------------
Sat Dec 12 1998
(1 row)
You may also create a function like this:
prova=> create function mydate(datetime) returns text
prova-> as 'select substring(cast($1 as text) from 1 for
10)||substring(cast($1 as text) from 20 for 5) from a;' language 'sql';
CREATE
prova=> select mydate(c) from a;
mydate
---------------
Sat Dec 12 1998
(1 row)
Jose'