PHP中,输入周次,得出该周日期 如题,请问如何做? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 我是这么写的,年初数加上周的天数,可以得到这周某一天的日期,至于这周星期一到星期天是几号到几号,我还没想到。 不知道楼主的意思我理解的对不对。我是新手。<?php date_default_timezone_set('Asia/Shanghai'); $date1 = strtotime('2010-01-01'); $date2 = 1*7*24*60*60; //第一个“1”就是你要填写第几周 $date3 = $date1+$date2; echo date('Y-m-d',$date3); 从网上找来的,稍微做了一下修改function GetWeekDate ($week, $year) { $timestamp = mktime(0, 0, 0, 1, 1, $year); $dayofweek = date("w", $timestamp); if ($week != 1) { $distance = ($week - 1) * 7 - $dayofweek + 1; $passed_seconds = $distance * 86400; $timestamp += $passed_seconds; $firt_date_of_week = date("Ymd", $timestamp); } if ($week == 1) { $distance = 7 - $dayofweek; } else { $distance = 6; $timestamp += $distance * 86400; $last_date_of_week = date("Ymd", $timestamp); } echo $year . '年的第' . $week . '星期的星期一是:' . $firt_date_of_week . ',星期天是' . $last_date_of_week; }GetWeekDate (3, 2010);来源: http://blog.csdn.net/hitblue/archive/2009/10/24/4724136.aspx 一开始那半个星期你算第几个? 如果算第1个的话:echo date('Y-m-d',strtotime('+1 monday, 2010-01-01')); // 这样可以得到第二周的星期一,其它日期基于周一算就行注意不要直接用+1 friday算第二周的星期5,因为你得到的是第一周的周5 function weeknumToweekday($weeknum) { $year = date("Y"); $weeksofyear = date("W",strtotime("$year-12-31")); if($weeknum < 1 || $weeknum > $weeksofyear) { return false; } $nowweek = date("W"); $offweek = $weeknum-$nowweek; $nowdayofweek = date("N"); $weeddateshow = "<table><th colspan=7>The $weeknum"."th week of year $year"."</th><tr><td>Mo</td><td>Tu</td><td>We</td><td>Th</td><td>Fr</td><td>Sa</td><td>Su</td></tr><tr>";//你可以自己修改显示样式 for($i=1;$i<=7;$i++) { $nowdayofweek--; $offday = -$nowdayofweek; if($offday==1 || $offday==-1 || $offday==0) { $addday = "day"; }else { $addday = "days"; } if($offday==1 || $offday==-1 || $offday==0) { $addweek = "week"; }else { $addweek = "weeks"; } $weeddateshow .= "<td>".date("Y-m-d",strtotime("$offweek $addweek $offday $addday"))."</td>"; } $weeddateshow .= "</tr></table>"; return $weeddateshow; } echo weeknumToweekday(49);//示例——第49周的日期 不好意思,写的太快,这段代码有误if($offday==1 || $offday==-1 || $offday==0) { $addweek = "week"; }else { $addweek = "weeks"; } 应该改为:if($offweek==1 || $offweek==-1 || $offweek==0) { $addweek = "week"; }else { $addweek = "weeks"; } date_default_timezone_set('PRC');$t = strtotime('+1 monday 2010-01-01'); //获得第一个完整周开始的日期//echo date('Y-m-d W w ', $t); // 2010-01-04 01 1 (第一周 星期一)//那么第 n 周开始日期为$n = 20;$b = strtotime("+$n week -1 week", $t);//echo date('Y-m-d W w ', $b); // 2010-05-17 20 1//第 n 周各天的日期值为echo "第 $n 周<br />";for($i=0; $i<7; $i++) { echo date("Y-m-d 星期 w", strtotime("$i day", $b)) . '<br />';} 小弟跪求thinkphp 二级联动菜单 PHP导出的xls文件提示"格式与文件扩展名的格式不一致" 请高手回答 请问饮用文件路径的问题 PHP事务的如何写? phpMyAdmin的问题,谢谢 web服务器在与下层服务器通讯过程中(结果还没返回),怎么实现进度条 如何测试MYSQL是否安装正确?? 类似评论的东西怎么做啊?能不能给个思路啊? php的函数中如何把数组结果传出来? 寻找从文件指针中获取文件完整内容的方法 用户不能浏览.asp
不知道楼主的意思我理解的对不对。我是新手。
<?php
date_default_timezone_set('Asia/Shanghai');
$date1 = strtotime('2010-01-01');
$date2 = 1*7*24*60*60; //第一个“1”就是你要填写第几周
$date3 = $date1+$date2;
echo date('Y-m-d',$date3);
function GetWeekDate ($week, $year) {
$timestamp = mktime(0, 0, 0, 1, 1, $year);
$dayofweek = date("w", $timestamp);
if ($week != 1) {
$distance = ($week - 1) * 7 - $dayofweek + 1;
$passed_seconds = $distance * 86400;
$timestamp += $passed_seconds;
$firt_date_of_week = date("Ymd", $timestamp);
}
if ($week == 1) {
$distance = 7 - $dayofweek;
} else {
$distance = 6;
$timestamp += $distance * 86400;
$last_date_of_week = date("Ymd", $timestamp);
}
echo $year . '年的第' . $week . '星期的星期一是:' . $firt_date_of_week . ',星期天是' . $last_date_of_week;
}
GetWeekDate (3, 2010);
来源: http://blog.csdn.net/hitblue/archive/2009/10/24/4724136.aspx
{
$year = date("Y");
$weeksofyear = date("W",strtotime("$year-12-31"));
if($weeknum < 1 || $weeknum > $weeksofyear)
{
return false;
}
$nowweek = date("W");
$offweek = $weeknum-$nowweek;
$nowdayofweek = date("N");
$weeddateshow = "<table><th colspan=7>The $weeknum"."th week of year $year"."</th><tr><td>Mo</td><td>Tu</td><td>We</td><td>Th</td><td>Fr</td><td>Sa</td><td>Su</td></tr><tr>";//你可以自己修改显示样式
for($i=1;$i<=7;$i++)
{
$nowdayofweek--;
$offday = -$nowdayofweek;
if($offday==1 || $offday==-1 || $offday==0)
{
$addday = "day";
}else
{
$addday = "days";
}
if($offday==1 || $offday==-1 || $offday==0)
{
$addweek = "week";
}else
{
$addweek = "weeks";
}
$weeddateshow .= "<td>".date("Y-m-d",strtotime("$offweek $addweek $offday $addday"))."</td>";
}
$weeddateshow .= "</tr></table>";
return $weeddateshow;
}
echo weeknumToweekday(49);//示例——第49周的日期
if($offday==1 || $offday==-1 || $offday==0)
{
$addweek = "week";
}else
{
$addweek = "weeks";
}
应该改为:
if($offweek==1 || $offweek==-1 || $offweek==0)
{
$addweek = "week";
}else
{
$addweek = "weeks";
}
$n = 20;
$b = strtotime("+$n week -1 week", $t);
//echo date('Y-m-d W w ', $b); // 2010-05-17 20 1//第 n 周各天的日期值为
echo "第 $n 周<br />";
for($i=0; $i<7; $i++) {
echo date("Y-m-d 星期 w", strtotime("$i day", $b)) . '<br />';
}