PHP实现获取某个月份周次信息的方法

本文实例讲述了PHP实现获取某个月份周次信息的方法。分享给大家供大家参考。具体如下:

<?php
 function getMonthweeks($date){
 $ret=array();
  $stimestamp=strtotime($date);
  $mdays=date('t',$stimestamp);
  $msdate=date('Y-m-d',$stimestamp);
  $medate=date('Y-m-'.$mdays,$stimestamp);
 $etimestamp = strtotime($medate);
 //獲取第一周
 $zcsy=6-date('w',$stimestamp);//第一周去掉第一天還有幾天
 $zcs1=$msdate;
 $zce1=date('Y-m-d',strtotime("+$zcsy day",$stimestamp));
 $ret[1]="第1周".$zcs1.'~'.$zce1;
 //獲取中間周次
 $jzc=0;
 //獲得當前月份是6周次還是5周次
 $jzc0="";
 $jzc6="";
 for($i=$stimestamp; $i<=$etimestamp; $i+=86400){
 if(date('w', $i) == 0){$jzc0++;}
 if(date('w', $i) == 6){$jzc6++;}
 }
 if($jzc0==5 && $jzc6==5)
 {
 $jzc=5;
 }else{
 $jzc=4;
 }
 date_default_timezone_set('PRC');
 $t = strtotime('+1 monday '.$msdate);
 $n = 1;
 for($n=1; $n<$jzc; $n++) {
 $b = strtotime("+$n week -1 week", $t);
 $dsdate=date("Y-m-d", strtotime("-1 day", $b));
 $dedate=date("Y-m-d", strtotime("5 day", $b));
 $jzcz=$n+1;
 $ret[$jzcz]="第".$jzcz."周".$dsdate.'~'.$dedate;
 }
 //獲取最後一周
 $zcsy=date('w',$etimestamp);//最後一周是周幾日~六 0~6
 $zcs1=date('Y-m-d',strtotime("-$zcsy day",$etimestamp));
 $zce1=$medate;
 $jzcz=$jzc+1;
 $ret[$jzcz]="第".$jzcz."周".$zcs1.'~'.$zce1;
 return $ret;
}
$ret=getMonthweeks('2012-12-01');
for($i=0; $i<=count($ret); $i++) {
 echo @$ret[$i]."<br />";
}
?>

运行结果如下:

第1周2012-12-01~2012-12-01
第2周2012-12-02~2012-12-08
第3周2012-12-09~2012-12-15
第4周2012-12-16~2012-12-22
第5周2012-12-23~2012-12-29
第6周2012-12-30~2012-12-31

希望本文所述对大家的php程序设计有所帮助。

(0)

相关推荐

  • PHP计算近1年的所有月份

    话不多说,请看代码:  $z = date('Y-m'); $a = date('Y-m', strtotime('-12 months')); $begin = new DateTime($a); $end = new DateTime($z); $end = $end->modify('+1 month'); $interval = new DateInterval('P1M'); $daterange = new DatePeriod($begin, $interval ,$end); f

  • php判断两个日期之间相差多少个月份的方法

    本文实例讲述了php判断两个日期之间相差多少个月份的方法.分享给大家供大家参考.具体实现方法如下: /** * @author injection(injection.mail@gmail.com) * @var date1日期1 * @var date2 日期2 * @var tags 年月日之间的分隔符标记,默认为'-' * @return 相差的月份数量 * @example: $date1 = "2003-08-11"; $date2 = "2008-11-06&qu

  • php实现按天数、星期、月份查询的搜索框

    本文实例为大家分享了php实现按天数.星期.月份查询的搜索框,搜索时候展示数据的统计图,主要展示图形的效果,供大家参考,具体内容如下 1.ajax.php <?php $year = $_GET['y']; if(!isset($_GET['m'])){ $month=1; }else{ $month = $_GET['m']; } $week_arr = getMonthWeekArr($year, $month); echo json_encode($week_arr); die; /**

  • PHP获取当前日期所在星期(月份)的开始日期与结束日期(实现代码)

    废话不多少,上代码 复制代码 代码如下: // 获取指定日期所在星期的开始时间与结束时间 function getWeekRange($date){     $ret=array();     $timestamp=strtotime($date);     $w=strftime('%u',$timestamp);     $ret['sdate']=date('Y-m-d 00:00:00',$timestamp-($w-1)*86400);     $ret['edate']=date('

  • PHP获取指定月份第一天和最后一天的方法

    本文实例讲述了PHP获取指定月份第一天和最后一天的方法.分享给大家供大家参考.具体如下: 复制代码 代码如下: $date = date(time()); $start_date = date('Y-m-d', mktime(00, 00, 00, date('m', strtotime($date))+1, 01)); $end_date = date('Y-m-d', mktime(23, 59, 59, date('m', strtotime($date))+2, 00)); 希望本文所述

  • PHP实现获取某个月份周次信息的方法

    本文实例讲述了PHP实现获取某个月份周次信息的方法.分享给大家供大家参考.具体如下: <?php function getMonthweeks($date){ $ret=array(); $stimestamp=strtotime($date); $mdays=date('t',$stimestamp); $msdate=date('Y-m-d',$stimestamp); $medate=date('Y-m-'.$mdays,$stimestamp); $etimestamp = strtot

  • PHP获取photoshop写入图片文字信息的方法

    本文实例讲述了PHP获取photoshop写入图片文字信息的方法.分享给大家供大家参考.具体分析如下: 有些摄影师喜欢把图片的标题,内容,关键词等用photoshop直接写入图片文件里面. 用以下代码可以读取. $image_info = array(); $size = getimagesize('图片文件.jpg', $info); if(isset($info['APP13'])) { $iptc = iptcparse($info['APP13']); foreach (array_ke

  • C#基于OLEDB获取Excel文件表结构信息的方法

    本文实例讲述了C#基于OLEDB获取Excel文件表结构信息的方法.分享给大家供大家参考,具体如下: 这个问题来自论坛提问,同理可以获得access等数据库的表结构信息. using System; namespace ConsoleApplication11 { class Program { public static void Main() { getExcelFileInfo( @" c:a.xls " ); } private static void getExcelFile

  • C#获取进程或线程相关信息的方法

    本文实例讲述了C#获取进程或线程相关信息的方法.分享给大家供大家参考.具体实现方法如下: using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Diagnostics; namespace ConsoleApp { class ProcessDo { /// <summary> /// 获取进程相关信息 /// </summary> pub

  • php获取文件类型和文件信息的方法

    本文实例讲述了php获取文件类型和文件信息的方法.分享给大家供大家参考.具体实现方法如下: <?php $file = "php.txt"; //打开文件,r表示以只读方式打开 $handle = fopen($file,"r"); //获取文件的统计信息 $fstat = fstat($handle); echo "文件名:".basename($file)."<br>"; //echo "文件大

  • Android获取手机系统版本等信息的方法

    本文实例讲述了Android获取手机系统版本等信息的方法.分享给大家供大家参考.具体如下: String phoneInfo = "Product: " + android.os.Build.PRODUCT; phoneInfo += ", CPU_ABI: " + android.os.Build.CPU_ABI; phoneInfo += ", TAGS: " + android.os.Build.TAGS; phoneInfo += &qu

  • Android6.0获取GPS定位和获取位置权限和位置信息的方法

    1.添加权限--6.0之后要动态获取,下面会说 <uses-permission android:name= "android.permission.ACCESS_FINE_LOCATION"/> 2.直接上代码,不多说,代码中注释很详细. private static final int BAIDU_READ_PHONE_STATE = 100;//定位权限请求 private static final int PRIVATE_CODE = 1315;//开启GPS权限

  • 微信公众号JS-SDK获取当前经纬度以及地址信息的方法

    目录 前言 一.微信 JS-SDK是什么? 二.使用步骤 1.绑定域名 2.引入 JS 文件 3.通过 config 接口注入权限验证配置 4.在这过程中我遇到的问题及解决方法(提示错误invalid signature) 总结 前言 这篇文章带大家掌握 从0到1掌握微信公众平台js-sdk调用 微信公众平台js-sdk调用到底哪几步 安全域名怎么配置 代码怎么写 出了问题怎么查找 例如:随着微信生态的不断发展,基于微信平台的网页开发业务场景也越来越多,很多人都开启了学习微信网页开发,本文就介绍

  • Android获取系统储存以及内存信息的方法(二)

    Android获取储存信息以及内存信息可以用adb命令查看. adb查看系统内存信息以及储存信息: 命令:adb shell cat /proc/meminfo 代码: private static final String FILENAME_PROC_MEMINFO = "/proc/meminfo"; /** * 获取手机内存总大小 * @return */ public static String getTotalMemorySize() { try { FileReader f

  • Android获取系统储存以及内存信息的方法(一)

    众所周知,Android的手机上的信息大部分都是可以通过代码获取的,比如说爱奇艺的离线储存功能上有一个最大储存大小/剩余储存大小的功能. 获取SD卡上的储存信息: /** * 获得SD卡总大小 * * @return */ private String getSDTotalSize() { File path = Environment.getExternalStorageDirectory(); StatFs stat = new StatFs(path.getPath()); long bl

随机推荐