最近写的旅游网站项目里有一个价格日历功能,需要用到一个获取星期几的算法
这里是我在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