Home > Archive > PHP Language > March 2008 > retrieve the day of the week
You are viewing an archived Text-only version of the thread.
To view this thread in it's original format and/or if you want to reply to
this thread please [click here]
| Author |
retrieve the day of the week
|
|
| Kram Techie 2008-03-12, 8:01 am |
| Hi
i am trying to find a way to retrieve the day of the w from a mysql date.
example 11 Mar 2008 22:32:06
should equate to Tue, or Tuesday
Googled but no Joy. many online examples but i need a hint or some source to
work with.
Mark
| |
| ZeldorBlat 2008-03-12, 7:06 pm |
| On Mar 12, 8:15 am, "Kram Techie" <kramTec...@NOSPAM.ntlworld.com>
wrote:
> Hi
>
> i am trying to find a way to retrieve the day of the w from a mysql date.
> example 11 Mar 2008 22:32:06
> should equate to Tue, or Tuesday
>
> Googled but no Joy. many online examples but i need a hint or some source to
> work with.
>
> Mark
Googling is fine -- but it wouldn't have hurt to look in the MySQL
manual, either:
<http://dev.mysql.com/doc/refman/5.0/en/date-and-time-
functions.html#function_dayname>
| |
| Alred Wallace 2008-03-12, 7:06 pm |
|
"Kram Techie" <kramTechie@NOSPAM.ntlworld.com> a écrit dans le message de
news: 9PPBj.10809$qW6.8607@newsfe6-win.ntli.net...
> Hi
>
> i am trying to find a way to retrieve the day of the w from a mysql
> date.
> example 11 Mar 2008 22:32:06
> should equate to Tue, or Tuesday
>
> Googled but no Joy. many online examples but i need a hint or some source
> to work with.
>
> Mark
>
>
hi Mark,
first the timestamp is the best way to find day of the w . A timestamp
look like : 3215649870354 (secondes).
I don't know how are stored your data. Let's imagine the worst: in a
string!!
and the month are stored like:jan, mar,feb...
and not like 1 (jan), 2 (feb)...
we will be forced to make an array.
Let's begin the script:
<?
///////////////// input date:
$date = "11 Mar 2008 22:32:06";
///////////// array retrivinbg number of months:
$Months = Array(
"Jan" => 1,
"Feb" => 2,
"Mar" => 3,
"Apr" => 4,
"May" => 5,
"Jun" => 6,
"Jul" => 7,
"Aug" => 8,
"Sep" => 9,
"Oct" => 10,
"Nov" => 11,
"Dec" => 12
);
///////// let's transorm your date in timestamp:
/// let's mlake an array to retrive values of: day, month, year:
$dateArray = explode( " ",$date );
$day = $dateArray[0];
/////// tranform the month like "Mar" in a number (3)
$month = $Months[ $dateArray[1] ];
$year=$dateArray[2];
///// now, we own: $day, $month,$year in numeric format.
// creating timestamp: mktime(hour, minute,second,month,day,year);
/////// in this case the value is:1205193600
$dateTimeStamp = mktime( 1, 0 , 0 , $month , $day , $year );
//////// retreiving the name of the day (see "date function" doc in php
manual)
//// "l" is L lowercase
$TheNameOfTheDay = date( "l",$dateTimeStamp );
echo "date ini:".$date."<br />";
echo "<h1>".$TheNameOfTheDay."</h1>";
echo "timestamp:".$dateTimeStamp;
?>
| |
| Michael Fesser 2008-03-12, 7:06 pm |
| ..oO(Kram Techie)
>i am trying to find a way to retrieve the day of the w from a mysql date.
>example 11 Mar 2008 22:32:06
This is not a MySQL date, which would be 2008-03-11 22:32:06 instead.
With that format it's pretty easy to do calculations and manipulations
with MySQL's date and time functions.
Micha
| |
| Michael Fesser 2008-03-12, 7:06 pm |
| ..oO(Alred Wallace)
>first the timestamp is the best way to find day of the w . A timestamp
>look like : 3215649870354 (secondes).
The best is to let the database handle that.
>I don't know how are stored your data. Let's imagine the worst: in a
>string!!
>and the month are stored like:jan, mar,feb...
>and not like 1 (jan), 2 (feb)...
>we will be forced to make an array.
>Let's begin the script:
>[...]
Have a look at strtotime().
<?php
$date = '11 Mar 2008 22:32:06';
print date('l', strtotime($date));
?>
Micha
| |
| Kram Techie 2008-03-12, 7:06 pm |
|
"Michael Fesser" <netizen@gmx.de> wrote in message
news:2brft39fv1d57bnhhdom9lvs7irsgsp122@
4ax.com...
> .oO(Alred Wallace)
>
>
> The best is to let the database handle that.
>
>
> Have a look at strtotime().
>
> <?php
> $date = '11 Mar 2008 22:32:06';
> print date('l', strtotime($date));
> ?>
>
> Micha
Hi Micha
that works a treat
Thanks to all who replied
Mark
| |
| Michael Fesser 2008-03-12, 7:06 pm |
| ..oO(Kram Techie)
>"Michael Fesser" <netizen@gmx.de> wrote in message
> news:2brft39fv1d57bnhhdom9lvs7irsgsp122@
4ax.com...
>
>Hi Micha
>
>that works a treat
It still means that the dates in your DB are stored in the wrong format.
The date column should be of type DATETIME.
Micha
| |
| Kram Techie 2008-03-12, 7:06 pm |
| "Michael Fesser" <netizen@gmx.de> wrote in message
news:lgtft31jkvec591mcnjgob2q1cbhfeab61@
4ax.com...
> .oO(Kram Techie)
>
>
> It still means that the dates in your DB are stored in the wrong format.
> The date column should be of type DATETIME.
>
> Micha
Hi Micha
it is DATETIME but for display i have to re-format it.
Mark
| |
| Michael Fesser 2008-03-12, 7:06 pm |
| ..oO(Kram Techie)
>it is DATETIME but for display i have to re-format it.
Ah, OK. But then you can let the database return the day of w , which
would be more efficient than doing it in PHP. See DATE_FORMAT() for
details.
http://dev.mysql.com/doc/refman/5.0...ion_date-format
Micha
| |
| Kram Techie 2008-03-14, 7:11 pm |
|
"Michael Fesser" <netizen@gmx.de> wrote in message
news:j52gt3tlsg7tv1b3ml0uhi7p0tlh843g9i@
4ax.com...
> .oO(Kram Techie)
>
>
> Ah, OK. But then you can let the database return the day of w , which
> would be more efficient than doing it in PHP. See DATE_FORMAT() for
> details.
>
> http://dev.mysql.com/doc/refman/5.0...ion_date-format
>
> Micha
Hi
i used %a to get short day "SELECT DATE_FORMAT('$datetime', '%a')"
works a treat and the other % values will come in handy at a later date.
Mark
| |
| Michael Fesser 2008-03-14, 7:11 pm |
| ..oO(Kram Techie)
>i used %a to get short day "SELECT DATE_FORMAT('$datetime', '%a')"
>works a treat and the other % values will come in handy at a later date.
Glad it worked out.
Micha
| |
| Christoph Kappestein 2008-03-15, 8:00 am |
| Kram Techie schrieb:
> Hi
>
> i am trying to find a way to retrieve the day of the w from a mysql date.
> example 11 Mar 2008 22:32:06
> should equate to Tue, or Tuesday
>
> Googled but no Joy. many online examples but i need a hint or some source to
> work with.
>
> Mark
>
>
you can do that with php ...
$time = strtotime(mysql date);
echo date('D', $time);
for sure a solution in mysql is more efficient
mfg
k42b3
| |
| Kram Techie 2008-03-15, 7:08 pm |
| "Christoph Kappestein" <meecrob@k42b3.com> wrote in message
news:frgfnn$6hb$02$1@news.t-online.com...
> Kram Techie schrieb:
>
> you can do that with php ...
>
> $time = strtotime(mysql date);
> echo date('D', $time);
>
> for sure a solution in mysql is more efficient
>
> mfg
> k42b3
$time = strtotime("24 Feb 2008 22:51:08");
echo date('D', $time);
Sun
as MySQL works a dream I'll stick with that.
Mark
|
|
|
|
|