最近写的旅游网站项目里有一个价格日历功能,需要用到一个获取星期几的算法
这里是我在OSC看到的一个关于获取今天是星期几的类:
<?php |
02 |
function getWeekName( $data , $format = '星期' ) |
03 |
{ |
04 |
$week = date ( "D
" , $data ); |
05 |
switch ( $week ) |
06 |
{ |
07 |
case "Mon
" : |
08 |
$current = $format . "一" ; |
09 |
break ; |
10 |
case "Tue
" : |
11 |
$current = $format . "二" ; |
12 |
break ; |
13 |
case "Wed
" : |
14 |
$current = $format . "三" ; |
15 |
break ; |
16 |
case "Thu
" : |
17 |
$current = $format . "四" ; |
18 |
break ; |
19 |
case "Fri
" : |
20 |
$current = $format . "五" ; |
21 |
break ; |
22 |
case "Sat
" : |
23 |
$current = $format . "六" ; |
24 |
break ; |
25 |
case "Sun
" : |
26 |
$current = $format . "日" ; |
27 |
break ; |
28 |
} |
29 |
return $current ; |
30 |
} |
31 |
32 |
33 |
echo '今天是:' .getWeekName(time(), '星期' ); |
34 |
echo '<br>' ; |
35 |
echo '今天是:' .getWeekName(time(), '礼拜' ); |
36 |
echo '<br>' ; |
37 |
echo '2010-12-12是:' .getWeekName( strtotime ( '2010-12-12' ), '礼拜' ); |
然后下面的评论里有人给出了更加简单的类
这里有个函数,楼主应该看看:
1 |
jddayofweek(cal_to_jd(CAL_GREGORIAN, date ( 'm' ), date ( 'd' ), date ( 'Y' ))); |
cal_to_jd() 函数把指定的日期转换为儒略日计数。
语法
cal_to_jd(calendar,month,day,year)
参数 | 描述 |
---|---|
calendar |
必需。规定要使用的历法。可以使用下面这些常量:
|
month | 必需。规定月。 |
day | 必需。规定日。 |
year | 必需。规定年。 |
例子
<?php $d=cal_to_jd(CAL_GREGORIAN,10,03,2005); echo($d); ?>
输出:
2453647
话说我比较小白,第一次看见这个函数,jddayofweek();
于是果断就去W3C查一下:下面是详细说明“
我们再来看看这句话的用处:
JDDayOfWeek() 函数返回日期在周几。
语法
jddayofweek(jd,mode)
参数 | 描述 |
---|---|
jd | 必需。数字(儒略日计数)。 |
mode |
可选。定义返回的内容(数字还是字符串)。模式值:
|
例子
<?php $jd=cal_to_jd(CAL_GREGORIAN,date("m"),date("d"),date("Y")); echo(jddayofweek($jd,1)); ?>
输出:
Thursday