How to get week days in php?
I want to get Monday, Tuesday, Wednesday... using php function.
I have only numeric values for those like 1,2,3..7 where
1 = Monday 2 = Tuesday ... 7 = Su开发者_高级运维nday.
Can anybody help me regarding this.
Thanks,
Kanji
My personal favorite...
$day_start = date( "d", strtotime( "next Sunday" ) ); // get next Sunday
for ( $x = 0; $x < 7; $x++ )
$week_days[] = date( "l", mktime( 0, 0, 0, date( "m" ), $day_start + $x, date( "y" ) ) ); // create weekdays array.
DateTime::format, with the $format
parameter as l
(lowercase L).
Object Oriented style:
$object->format('l');
Procedural style:
date_format(DateTime $object, 'l');
You can create a DateTime object with DateTime::__construct, and you can learn more about DateTime formats here.
If all you have is a numeric value and not a complete timestamp, by far the easiest way is this:
$weekdays = array('Monday', 'Tuesday', 'Wednesday', ...);
$weekday = 0;
echo $weekdays[$weekday];
The following should give you the day of the week for today (ex. tuesday):
<? echo date("l"); ?>
or for a specific date you can use something like this:
<? echo date("l",strtotime("10 September 2000")); ?>
For more info: http://www.php.net/manual/en/function.date.php
If you have just a number that you are trying to convert to a day of the week, you could use the following:
function convertNumberToDay($number) {
$days = array('Sunday','Monday', 'Tuesday', 'Wednesday','Thursday','Friday','Saturday');
return $days[$number-1]; // we subtract 1 to make "1" match "Sunday", "2" match "Monday"
}
echo convertNumberToDay(3); // prints "Tuesday"
<?php
$day = 2;
echo date('l', mktime(0,0,$day,0,1)); // Tuesday
?>
So you can create a simple function like this:
function getDayName($dayNo) {
return date('l', mktime(0,0,$dayNo,0,1));
}
Demo: http://www.ideone.com/hrITc
If you simply want to convert 0 to "Monday", 1 to "Tuesday", etc. use an array.
$day_of_week = array
(
0 => 'Monday',
1 => 'Tuesday',
2 => 'Wednesday',
.
6 => 'Sunday'
);
$day = 2;
echo $day_of_week[$day];
switch ($day) {
case 0 : echo "Monday"; break;//if $day = 0 it will print Monday
case 1 : echo "Tuesday"; break;
case 2 : echo "Wednesday"; break;
}
精彩评论