社区
基础编程
帖子详情
PHP当中如何判断一个周的起始日期与结束日期
吉林小江南
2007-08-27 10:01:47
数据库表:
id, usid, weekNum, monday-----sunday.
PHP当中如何判断一个周的起始日期与结束日期
...全文
1086
24
打赏
收藏
PHP当中如何判断一个周的起始日期与结束日期
数据库表: id, usid, weekNum, monday-----sunday. PHP当中如何判断一个周的起始日期与结束日期
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
24 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
foolbirdflyfirst
2007-08-27
打赏
举报
回复
没php4,你再测试一下
$firstDay = date('N',strtotime("$year-01-01"));
============================
改成 $firstDay = date('w',strtotime("$year-01-01"));
php5下测试了一下,是通过的.
foolbirdflyfirst
2007-08-27
打赏
举报
回复
$firstDay = date('w',strtotime("$year-01-01"));
foolbirdflyfirst
2007-08-27
打赏
举报
回复
.....
N
ISO-8601
格式数字表示的星期中的第几天(PHP 5.1.0 新加) 1(表示星期一)到 7(表示星期天)
php5.1.0新加,我用php5,没问题.
//找出年份第一天是星期几(1-7)
$firstDay = date('N',strtotime("$year-01-01"));
============
改成
吉林小江南
2007-08-27
打赏
举报
回复
<?php
//function:
/**
* get week's first and last day
*
* @param string $year //year
* @param string $weekAtYear // the week num in given year
* @return array $days
*/
function getDays($year,$weekAtYear)
{
//找出年份第一天是星期几(1-7)
$firstDay = date('N',strtotime("$year-01-01"));
//找出第一个星期剩余天数,用于计数.比如2008-01-01号是星期二,则剩余6天到第一个星期天.
$leftDayInFirstWeek = 8 - $firstDay;
//星期一的日期(Y-m-d)
if($weekAtYear <= 2)
{
$days['monday'] = date("Y-m-d",strtotime("$year-01-01")+($weekAtYear-1)*$leftDayInFirstWeek*24*60*60);
}
else
{
$days['monday'] = date("Y-m-d",strtotime("$year-01-01")+$leftDayInFirstWeek*24*60*60+($weekAtYear-2)*7*24*60*60);
}
if($weekAtYear == 1 && $firstDay != 1)
{//第一周,且第一天不是星期一
$days['sunday'] = date("Y-m-0$leftDayInFirstWeek",strtotime($days['monday']));
}
else $days['sunday'] = date("Y-m-d",strtotime($days['monday'])+6*24*60*60);
return $days;
}
//use:
$date = getDays('2007',1);
//output:
print_r($date);
?>
=================
X-Powered-By: PHP/4.4.4
Content-type: text/html
Array
(
[monday] => 2007-01-01
[sunday] => 2007-01-08===>应该为7Q
)
还是错误.代码我已经换成你修改的了
foolbirdflyfirst
2007-08-27
打赏
举报
回复
我说了你看看我最后发给你的,我改过啦!
======================================
//function:
/**
* get week's first and last day
*
* @param string $year //year
* @param string $weekAtYear // the week num in given year
* @return array $days
*/
function getDays($year,$weekAtYear)
{
//找出年份第一天是星期几(1-7)
$firstDay = date('N',strtotime("$year-01-01"));
//找出第一个星期剩余天数,用于计数.比如2008-01-01号是星期二,则剩余6天到第一个星期天.
$leftDayInFirstWeek = 8 - $firstDay;
//星期一的日期(Y-m-d)
if($weekAtYear <= 2)
{
$days['monday'] = date("Y-m-d",strtotime("$year-01-01")+($weekAtYear-1)*$leftDayInFirstWeek*24*60*60);
}
else
{
$days['monday'] = date("Y-m-d",strtotime("$year-01-01")+$leftDayInFirstWeek*24*60*60+($weekAtYear-2)*7*24*60*60);
}
if($weekAtYear == 1 && $firstDay != 1)
{//第一周,且第一天不是星期一
$days['sunday'] = date("Y-m-0$leftDayInFirstWeek",strtotime($days['monday']));
}
else $days['sunday'] = date("Y-m-d",strtotime($days['monday'])+6*24*60*60);
return $days;
}
//use:
$date = getDays('2007',3);
//output:
print_r($date);
=========
Array ( [monday] => 2007-01-15 [sunday] => 2007-01-21 )
吉林小江南
2007-08-27
打赏
举报
回复
$date = getDays('2007',3);
//output:
print_r($date);
[monday] => 2007-01-16 ==><这个是星期二>
[sunday] => 2007-01-22
吉林小江南
2007-08-27
打赏
举报
回复
foolbirdflyfirst(湖水清澈):兄弟
好像是差了一天.
吉林小江南
2007-08-27
打赏
举报
回复
表格
第一周:
星期一,星期二...等
XX号,XX号...
数据1,数据2
foolbirdflyfirst
2007-08-27
打赏
举报
回复
参考我最后给你的答案,测试一下.:-)
吉林小江南
2007-08-27
打赏
举报
回复
因为数据库表里是这样的:
id, usID ,year(年份), weekNum(周次), 等
在前台显示的时候我需要了解XXXX年XX周的起始结束日期.
吉林小江南
2007-08-27
打赏
举报
回复
朋友们顶....送出所有分也没问题..
参数1 只有年份(2007 | 2008 | 2009)
参数2 周次(第一周.....)
吉林小江南
2007-08-27
打赏
举报
回复
/**
# @param $year 年份
# @param $week 周次
# @return 例如:XXXX年第X周的起始日期和结束日期
*/
function getWeekStartTimeAndEndTime($year, $week)
{
}
foolbirdflyfirst
2007-08-27
打赏
举报
回复
你是根据周数来判断的哦?
你确定答案就是你想要的.
我的改了一下,计数错料.:-)
//function:
/**
* get week's first and last day
*
* @param string $year //year
* @param string $weekAtYear // the week num in given year
* @return array $days
*/
function getDays($year,$weekAtYear)
{
//找出年份第一天是星期几(1-7)
$firstDay = date('N',strtotime("$year-01-01"));
//找出第一个星期剩余天数,用于计数.比如2008-01-01号是星期二,则剩余6天到第一个星期天.
$leftDayInFirstWeek = 8 - $firstDay;
//星期一的日期(Y-m-d)
if($weekAtYear <= 2)
{
$days['monday'] = date("Y-m-d",strtotime("$year-01-01")+($weekAtYear-1)*$leftDayInFirstWeek*24*60*60);
}
else
{
$days['monday'] = date("Y-m-d",strtotime("$year-01-01")+$leftDayInFirstWeek*24*60*60+($weekAtYear-2)*7*24*60*60);
}
if($weekAtYear == 1 && $firstDay != 1)
{//第一周,且第一天不是星期一
$days['sunday'] = date("Y-m-0$leftDayInFirstWeek",strtotime($days['monday']));
}
else $days['sunday'] = date("Y-m-d",strtotime($days['monday'])+6*24*60*60);
return $days;
}
//use:
$date = getDays('2006',date("W"));
//output:
print_r($date);
吉林小江南
2007-08-27
打赏
举报
回复
看到代码了:)好感动.找了好久...
总之非常谢谢大家.....
foolbirdflyfirst
2007-08-27
打赏
举报
回复
T_T...
我的有错.....
参考以上两位
Aylazhang
2007-08-27
打赏
举报
回复
一个比较简单的:
function get_spdate($s) {
$g = strftime("%u",strtotime($s));
$sdate = strftime("%Y-%m-%d",strtotime($s) - ($g-1)*86400);
$edate = strftime("%Y-%m-%d",strtotime($s) + (7-$g)*86400);
echo "Start Date:$sdate End Date:$edate \n";
}
$s = "2007-02-08";
get_spdate($s);
多菜鸟
2007-08-27
打赏
举报
回复
<?php
/*
* 功能:取得给定日期所在周的开始日期和结束日期
* 参数:$gdate 日期,默认为当天,格式:YYYY-MM-DD
* $first 一周以星期一还是星期天开始,0为星期天,1为星期一
* 返回:数组array("开始日期", "结束日期");
* 作者:多菜鸟
* Email: kingerq AT msn.com
* 来源:http://blog.csdn.net/kingerq
*/
function aweek($gdate = "", $first = 0){
if(!$gdate) $gdate = date("Y-m-d");
$w = date("w", strtotime($gdate));//取得一周的第几天,星期天开始0-6
$dn = $w ? $w - $first : 6;//要减去的天数
$st = date("Y-m-d", strtotime("$gdate -".$dn." days"));
$en = date("Y-m-d", strtotime("$st +6 days"));
return array($st, $en);//返回开始和结束日期
}
echo implode("|", aweek("", 1));
?>
Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=326856
foolbirdflyfirst
2007-08-27
打赏
举报
回复
涉及一点算法,有点意思,参考以下.你再测试一下,看有什么问题没有.
===========================================================
//function:
/**
* get week's first and last day
*
* @param string $year //年份
* @param string $weekAtYear // 周数
* @return array $days
*/
function getDays($year,$weekAtYear)
{
//找出年份第一天是星期几(1-7)
$firstDay = date('N',strtotime("$year-01-01"));
//找出第一个星期剩余天数,用于计数.比如2008-01-01号是星期二,则剩余6天到第一个星期天.
$leftDayInWeek = 8 - $firstDay;
//星期一的日期(Y-m-d)
$days['monday'] = date("Y-m-d",strtotime("$year-01-01")+($weekAtYear-1)*$leftDayInWeek*24*60*60);
if($weekAtYear == 1 && $firstDay != 1)
{//第一周,且第一天不是星期一
$days['sunday'] = date("Y-m-0$leftDayInWeek",strtotime($days['monday']));
}
else $days['sunday'] = date("Y-m-d",strtotime($days['monday'])+6*24*60*60);
return $days;
}
//use:
$date = getDays('2007',2);
//output:
print_r($date);
吉林小江南
2007-08-27
打赏
举报
回复
weekNum存的是本年内的第X个周
foolbirdflyfirst
2007-08-27
打赏
举报
回复
你要根据什么来判断?
weekNum存的是什么数据?
本年内的第几个周?
加载更多回复(4)
php
获取本
周
开始
日期
和
结束
日期
的方法
本文实例讲述了
php
获取本
周
开始
日期
和
结束
日期
的方法。分享给大家供大家参考。具体如下: 复制代码 代码如下://当前
日期
$sdefaultDate = date(“Y-m-d”); //$first =1 表示每
周
星期一为开始
日期
0表示每
周
日为开始
日期
$first=1; //获取当前
周
的第几天
周
日是 0
周
一到
周
六是 1 – 6 $w=date(‘w’,strtotime($sdefaultDate)); //获取本
周
开始
日期
,如果$w是0,则表示
周
日,减去 6 天 $week_start=date(‘Y-m-d’,strtotime(“$sdefaultD
php
计算所在
周
的开始,
php
计算给定
日期
所在
周
的开始
日期
和
结束
日期
这篇文章主要介绍了
php
计算给定
日期
所在
周
的开始
日期
和
结束
日期
,涉及
php
日期
与时间相关运算与转换技巧,具有一定参考借鉴价值,需要的朋友可以参考下本文实例讲述了
php
计算给定
日期
所在
周
的开始
日期
和
结束
日期
。分享给大家供大家参考,具体如下:/*** 取得给定
日期
所在
周
的开始
日期
和
结束
日期
* @param string $gdate
日期
,默认为当天,格式:YYYY-MM-DD* @param int...
php
获取
一个
时间一
周
的开始
日期
,
PHP
获取
日期
对应星期、一
周
日期
、星期开始与
结束
日期
的方法...
本文实例讲述了
PHP
获取
日期
对应星期、一
周
日期
、星期开始与
结束
日期
的方法。分享给大家供大家参考,具体如下:/** 获取
日期
对应的星期* 参数$date为输入的
日期
数据,格式如:2018-6-22*/function get_week($date){//强制转换
日期
格式$date_str = date('Y-m-d', strtotime($date));//封装成数组$arr = explode(...
php
获取当前
周
的起止
日期
,使用
PHP
实现获取
周
的
起始
和
结束
日期
跨年过去了几天,有些程序在获取
周
的
起始
和
结束
日期
时出现 BUG,导致很多统计出现错误。经过排查,发现是通过
周
和年两个参数获取
周
的
起始
和
结束
日期
的方法有问题导致。需要弄明白这个问题,需要明白
周
是可以跨年的,比如 2015年的最后一
周
是第 53
周
,
日期
是 2015 年的 12 月 28 日到 2016 年的 1 月 3 日。所以当你使用
PHP
的 date 函数在 2016 年的 1 月 1 日获...
php
获取本
周
起止时间,
php
获取本
周
开始
日期
和
结束
日期
的方法
这篇文章主要介绍了
php
获取本
周
开始
日期
和
结束
日期
的方法,实例分析了
php
操作
日期
的技巧,具有一定参考借鉴价值,需要的朋友可以参考下本文实例讲述了
php
获取本
周
开始
日期
和
结束
日期
的方法。分享给大家供大家参考。具体如下:代码如下://当前
日期
$sdefaultDate = date("Y-m-d");//$first =1 表示每
周
星期一为开始
日期
0表示每
周
日为开始
日期
$first=1;//获取当...
基础编程
21,886
社区成员
140,364
社区内容
发帖
与我相关
我的任务
基础编程
从PHP安装配置,PHP入门,PHP基础到PHP应用
复制链接
扫一扫
分享
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章