如何在PHP中获取工作日?

时间:2010-12-29 06:07:46

标签: php

我希望周一,周二,周三......使用php功能。

我只有像1,2,3..7那样的数值

1 =星期一 2 =星期二 ... 7 =星期天。

任何人都可以帮我解决这个问题。

谢谢,

汉字

7 个答案:

答案 0 :(得分:4)

我个人最喜欢的......

$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.

答案 1 :(得分:3)

DateTime::format$format参数为l(小写L)。

面向对象的风格:

$object->format('l');

程序风格:

date_format(DateTime $object, 'l');

您可以使用DateTime::__construct创建DateTime对象,并且可以了解有关DateTime格式here的更多信息。

答案 2 :(得分:3)

如果你拥有的只是一个数值而不是一个完整的时间戳,到目前为止最简单的方法是:

$weekdays = array('Monday', 'Tuesday', 'Wednesday', ...);
$weekday = 0;
echo $weekdays[$weekday];

答案 3 :(得分:2)

以下内容应该为您提供今天的星期几(例如星期二):

<? echo date("l"); ?>

或者在特定日期,您可以使用以下内容:

<? echo date("l",strtotime("10 September 2000")); ?>

欲了解更多信息: http://www.php.net/manual/en/function.date.php

如果您只有一个号码,而您想要转换为一周中的某一天,则可以使用以下内容:

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"

答案 4 :(得分:0)

switch ($day) {
    case 0 : echo "Monday"; break;//if $day = 0  it will print Monday
    case 1 : echo "Tuesday"; break;
    case 2 : echo "Wednesday"; break;
}

答案 5 :(得分:0)

<?php
$day = 2;
echo date('l', mktime(0,0,$day,0,1)); // Tuesday
?>

所以你可以创建一个这样的简单函数:

function getDayName($dayNo) {
    return date('l', mktime(0,0,$dayNo,0,1));
}

演示:http://www.ideone.com/hrITc

答案 6 :(得分:0)

如果您只想将0转换为“星期一”,1转换为“星期二”等,请使用数组。

$day_of_week = array
(
    0 => 'Monday',
    1 => 'Tuesday',
    2 => 'Wednesday',
    .
    6 => 'Sunday'
);

$day = 2;

echo $day_of_week[$day];