本文目录一览:
- 1、PHP 计算某日是这一年的第几周
- 2、PHP怎样显示周数?
- 3、php 怎样获取当天是第几周
- 4、PHP里如何跟据日期获取本日是本年的第几周?
- 5、PHP计算一年多少个星期和每周的开始和结束日期
- 6、用php怎么编写当前时间是属于第几周?
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'));//上个月开始的日期-php查询第几周
$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怎样显示周数?
date函数可以获取指定时间是当年的第几周,所以,减一下就OK了,比如
date('W',strtotime('2015-4-11'))-date('W',strtotime('2015-4-1'))+1
php 怎样获取当天是第几周
这就要用到PHP自带的强大的date()函数了。直接上代码。
?php
header("Content-Type: text/html;charset=utf-8"); //可不要,在这里只是为了让确定字符格式,防止乱码。
$week = date('W');
echo '今天是一年中的第'.$week.'周';
?
PHP里如何跟据日期获取本日是本年的第几周?
用到知识点:PHP时间转换函数。
?php
header('content-type:text/html;charset=utf-8');
echo '今天是'.date('Y',time()).'年第'.date('W',time()).'周';
效果预览:
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怎么编写当前时间是属于第几周?
?php
$start = mktime(0,0,0,05,01,2011); //学期开始时间,格式为时、分、秒、月、日、年
$now = time(); //当前时间
$w = ceil(($now-$start)/(3600*24*7));
echo "当前位于第$w周";
?