本文目录一览:
- 1、php中怎么输出2015年2月份有多少天
- 2、PHP计算一年多少个星期和每周的开始和结束日期
- 3、PHP 根据年、周数获取周的起止日期
- 4、PHP 计算某日是这一年的第几周
- 5、php 根据多少天算几周 比如15天 2周+1天 这如何算?
php中怎么输出2015年2月份有多少天
用这个函数:int cal_days_in_month ( int $calendar , int $month , int $year )
例子:
?php
$number = cal_days_in_month(CAL_GREGORIAN, 2, 2015); // 28
echo "There were {$number} days in August 2015";
?
PHP计算一年多少个星期和每周的开始和结束日期
PHP计算一年多少个星期和每周的开始和结束日期?方法如下:
方法一:
php
header("Content-type:text/html;charset=utf-8");
date_default_timezone_set("Asia/Shanghai");
$year = (int)$_GET['year'];
$week = (int)$_GET['week'];
$weeks = date("W", mktime(0, 0, 0, 12, 28, $year));
echo $year . '年一共有' . $weeks . '周br /';
if ($week $weeks || $week = 0)
{
$week = 1;
}
if ($week 10)
{
$week = '0' . $week;
}
$timestamp['start'] = strtotime($year . 'W' . $week);
$timestamp['end'] = strtotime('+1 week -1 day', $timestamp['start']);
echo $year . '年第' . $week . '周开始时间戳:' . $timestamp['start'] . 'br /';
echo $year . '年第' . $week . '周结束时间戳:' . $timestamp['end'] . 'br /';
echo $year . '年第' . $week . '周开始日期:' . date("Y-m-d", $timestamp['start']) . 'br /';
echo $year . '年第' . $week . '周结束日期:' . date("Y-m-d", $timestamp['end']);
?
方法二: ?php
header("Content-type:text/html;charset=utf-8");
function getIsoWeeksInYear($year)
{
$date = new DateTime;
$date-setISODate($year, 53);
return ($date-format("W") === "53" ? 53 : 52);
}
function weekday($custom_date)
{
$week_start = date('d-m-Y', strtotime('this week monday', $custom_date));
$week_end = date('d-m-Y', strtotime('this week sunday', $custom_date));
$week_array[0] = $week_start;
$week_array[1] = $week_end;
return $week_array;
}
echo 'br Weeks in 2013br' . getIsoWeeksInYear(2013);
$weekday = weekday(strtotime(date('d-m-Y', strtotime('5-8-2013'))));
echo 'br 10-8-2013';
echo 'brStart: ' . $weekday[0];
echo 'brEnd: ' . $weekday[1];
?
或者方法三:
function get_week($year) {
$year_start = $year . "-01-01";
$year_end = $year . "-12-31";
$startday = strtotime($year_start);
if (intval(date('N', $startday)) != '1') {
$startday = strtotime("next monday", strtotime($year_start)); //获取年第一周的日期
}
$year_mondy = date("Y-m-d", $startday); //获取年第一周的日期
$endday = strtotime($year_end);
if (intval(date('W', $endday)) == '7') {
$endday = strtotime("last sunday", strtotime($year_end));
}
$num = intval(date('W', $endday));
for ($i = 1; $i = $num; $i++) {
$j = $i -1;
$start_date = date("Y-m-d", strtotime("$year_mondy $j week "));
$end_day = date("Y-m-d", strtotime("$start_date +6 day"));
$week_array[$i] = array (
str_replace("-",
".",
$start_date
), str_replace("-", ".", $end_day));
}
return $week_array;
}
函数get_week()通过传入参数$year年份,获取当年第一天和最后一天所在的周数,计算第一周的日期,通过循环获取每一周的第一天和最后一天的日期。最后返回是一个数组。
想得到指定周数的开始日期和结束日期,比如2011年第18周的开始日期和结束日期,代码如下:
复制代码 代码如下:
$weeks = get_week(2011);
echo '第18周开始日期:'.$weeks[18][0].'';
echo '第18周结束日期:'.$weeks[18][1];
最后输出结果:
第18周开始日期:2011.05.02
第18周结束日期:2011.05.08
PHP 根据年、周数获取周的起止日期
我也是来找答案的,结果发现两位仁兄都差了点。
那就让我补上这最后这点吧
function getFirstDayOfWeek($year,$week)
{
$first_day = strtotime($year."-01-01");
$is_monday = date("w", $first_day) == 1;
$week_one_start = !$is_monday ? strtotime("last monday", $first_day) : $first_day;
return $year.'第'.$week.'周开始天:'.date('Y-m-d',$week_one_start+(3600*24*7*($week-1)))
.';结束天为:'.date('Y-m-d',$week_one_start+((3600*24)*(7*($week-1)+6)));
}
PHP 计算某日是这一年的第几周
在判断某一天是哪一年的第几周的时候,根据采用的国际标准(忘了叫什么名字了),年首或者年末的那几天有可能不属于今年的第一周或者最后一周。
代码如下:
?php
echo date("oW",strtotime("20141229"))."\n";
echo date("oW",strtotime('20160101'))."\n";
?
扩展资料
php计算时间段的天数:
$firstday = date("Y-m-d H:i:s",time());//当前日期
$timestamp=strtotime($firstday);//当前日期时间戳
$firstday=date('Y-m-01',strtotime(date('Y',$timestamp).'-'.(date('m',$timestamp)-1).'-01'));//上个月开始的日期
$lastday=date('Y-m-d',strtotime("$firstday +1 month -1 day"));//上个月结束的日期
$stimestamp = strtotime($firstday);
$etimestamp = strtotime($lastday);// 计算日期段内有多少天
$days = ($etimestamp-$stimestamp)/86400+1;// 保存每天日期
$date = array();
for($i=0; $i$days; $i++){
$date[] = date('Y-m-d', $stimestamp+(86400*$i));
}
php 根据多少天算几周 比如15天 2周+1天 这如何算?
$allday = 15;
$weekday = 7;
$hasweek = floor($allday/$weekday);//下取整计算有几个星期
$lessday = $allday%$weekday;//取余计算不足一星期的天数