Mombu the Programming Forum

Go Back   Mombu the Programming Forum > Programming > retrieve the day of the week
User Name
Password
REGISTER NOW! Mark Forums Read




Reply
1 23rd October 22:31
kram techie
External User
 
Posts: 1
Default retrieve the day of the week



Hi

i am trying to find a way to retrieve the day of the week 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
  Reply With Quote


 


2 23rd October 22:31
zeldorblat
External User
 
Posts: 1
Default retrieve the day of the week



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>
  Reply With Quote
3 23rd October 22:32
alred wallace
External User
 
Posts: 1
Default retrieve the day of the week


"Kram Techie" <kramTechie@NOSPAM.ntlworld.com> a écrit dans le message de
news: 9PPBj.10809$qW6.8607@newsfe6-win.ntli.net...

hi Mark,
first the timestamp is the best way to find day of the week. 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;
?>
  Reply With Quote
4 23rd October 22:32
michael fesser
External User
 
Posts: 1
Default retrieve the day of the week


..oO(Kram Techie)


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
  Reply With Quote
5 23rd October 22:32
michael fesser
External User
 
Posts: 1
Default retrieve the day of the week


..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
  Reply With Quote
6 23rd October 22:32
kram techie
External User
 
Posts: 1
Default retrieve the day of the week


Hi Micha

that works a treat

Thanks to all who replied

Mark
  Reply With Quote
7 23rd October 22:32
michael fesser
External User
 
Posts: 1
Default retrieve the day of the week


..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
  Reply With Quote
8 23rd October 22:32
kram techie
External User
 
Posts: 1
Default retrieve the day of the week


Hi Micha

it is DATETIME but for display i have to re-format it.

Mark
  Reply With Quote
9 23rd October 22:32
michael fesser
External User
 
Posts: 1
Default retrieve the day of the week


..oO(Kram Techie)

Ah, OK. But then you can let the database return the day of week, which
would be more efficient than doing it in PHP. See DATE_FORMAT() for
details.

http://dev.mysql.com/doc/refman/5.0/...on_date-format

Micha
  Reply With Quote
10 23rd October 22:34
kram techie
External User
 
Posts: 1
Default retrieve the day of the week


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
  Reply With Quote
Reply


Thread Tools
Display Modes




666