在php里,有一些很容易的方法知道今天是星期几,用date()函数就很方便:
$w_day=date("w");
通过“w”参数date()函数取出的是从0到6的正整数值,0表示星期日,6表示星期六。
然 而无法从中知道是本月的第几个星期几。这需要设计一个算法。思路是:利用日期(即几号)和 一周的总天数(7天)的关系,借用ceil()函数直接得出今天是本月的第几个星期几。ceil()函数用于计算大于指定数(浮点数,float number)的最小整数,结果不足1的视为1。比如:
假设某月3日是星期四,那么,ceil(3/7) 的值将为1,这表明这一天是该月的第一个星期四。下一个星期四的计算式子是 ceil(10/7),其值为2,表明10日是第二个星期四。其他的依次类推。依此,第几个星期几的计算公式设定为:ceil(日期/7)。
获得日期(几号)与获得星期几一个简单,用date()函数加“j”参数即可:date("j")。以下是计算今天是本月第几个星期几的完整的代码,代码中加入了星期几的汉语显示格式化处理机制以规范星期几的表达:
<?php
$wk_day=date("w"); //得到星期几
$date_now=date("j"); //得到几号
$wkday_ar=array("日","一","二","三","四","五","六"); //规范化周日的表达
$cal_result=ceil($date_now/7); //计算是第几个星期几
//信息字串
$str=date("Y年n月j日")." 星期".$wkday_ar[$wk_day]." - 本月的第 ".$cal_result." 个星期".$wkday_ar[$wk_day];
echo $str; //打印信息
?>
网友评论