精华内容
下载资源
问答
  • //检查是不是闰年 $time_year=date("Y",time()); if($time_year%4==0 && ($time_year%100!=0 || $time_year%400==0)){ ... //计算一年多少个星期 $time=mktime(0,0,0,1,1,$time_year);//计算当年开始的时
    //检查是不是闰年
    $time_year=date("Y",time());
    if($time_year%4==0 && ($time_year%100!=0 || $time_year%400==0)){
    	$days=366;
    }else{
    	$days=365;
    }
    $weeks=date("W", mktime(0,0,0,12,28,$time_year));    //计算一年有多少个星期
    $time=mktime(0,0,0,1,1,$time_year);//计算当年开始的时间
    for($i=0;$i<=$days;$i++){
    	$time_array[date("W",$time+$i*86400)][]=date("Y-m-d H:i:s",$time+$i*86400);
    	
    }
    for($i=1;$i<=$weeks;$i++){
    	if ($i<10){
    		$week_have_days[$i]=$time_array["0".$i];
    	}else{
    		$week_have_days[$i]=$time_array[$i];
    	}
    }
    for($i=1;$i<=count($week_have_days);$i++){
    	$time_end=$week_have_days[$i][count($week_have_days[$i])-1];
    	$year_end=substr($time_end,0,4);
    	$month_end=substr($time_end,5,2);
    	$day_end=substr($time_end,8,2);
    	$week_addtime_s[]=strtotime($week_have_days[$i][0]);
    	$week_addtime_e[]=mktime(23,59,59, $month_end,$day_end,$year_end);
    }
    var_dump($week_addtime_s);	var_dump($week_addtime_e);
    
    展开全文
  • 计算一年多少 每个的开始日期和结束日期是什么

    分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow

    也欢迎大家转载本篇文章。分享知识,造福人民,实现我们中华民族伟大复兴!

                     
     /**  * 返回指定年度的所有周。List中包含的是String[2]对象<br>  * string[0]本周的开始日期,string[1]是本周的结束日期。<br>  * 日期的格式为yyyy-MM-dd。<br>  * 每年的第一个周,必须包含星期一且是完整的七天。<br>  * 例如:2009年的第一个周开始日期为2009-01-05,结束日期为2009-01-11。 <br>  * 星期一在哪一年,那么包含这个星期的周就是哪一年的周。<br>  * 例如:2008-12-29是星期一,2009-01-04是星期日,哪么这个周就是2008年度的最后一个周。<br>  *   * @param year 格式 yyyy  ,必须大于1900年度 小于9999年   * @return   */ public static List<String[]> getWeeksByYear(final int year){  if(year<1900 || year >9999){   throw new NullPointerException("年度必须大于等于1900年小于等于9999年");  }  //实现思路,首先计算当年有多少个周,然后找到每个周的开始日期和结束日期  //  Calendar calendar = new GregorianCalendar();//  // 在具有默认语言环境的默认时区内使用当前时间构造一个默认的 GregorianCalendar。//  calendar.setFirstDayOfWeek(Calendar.MONDAY); //设置每周的第一天为星期一//  calendar.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY); //每周从周一开始  //      上面两句代码配合,才能实现,每年度的第一个周,是包含第一个星期一的那个周。  //  calendar.setMinimalDaysInFirstWeek(7);  //设置每周最少为7天//  calendar.set(Calendar.YEAR, year); // 设置年度为指定的年//  //首先计算当年有多少个周,每年都至少有52个周,个别年度有53个周  int weeks = getWeekNumByYear(year);//  System.out.println(year+"共有"+weeks+"个周");  List<String[]> result = new ArrayList<String[]>(weeks);  for(int i=1;i<=weeks;i++){   String[] tempWeek = new String[2];   tempWeek[0] = getYearWeekFirstDay(year,i);   tempWeek[1] = getYearWeekEndDay (year,i);//或者使用下面的代码,不过发现效率更低   //   tempWeek[0] = getDateAdd(firstWeekDay,(i-1)*7+0);//   tempWeek[1] = getDateAdd(firstWeekDay,(i-1)*7+6);      result.add(tempWeek);//   System.out.println(i+"="+tempWeek[0]+"_"+tempWeek[1]);  }  return result; } /**  * 计算指定年度共有多少个周。  * @param year 格式 yyyy  ,必须大于1900年度 小于9999年   * @return   */ public static int getWeekNumByYear(final int year){  if(year<1900 || year >9999){   throw new NullPointerException("年度必须大于等于1900年小于等于9999年");  }  int result = 52;//每年至少有52个周 ,最多有53个周。  String date = getYearWeekFirstDay(year,53);  if(date.substring(0, 4).equals(year+"")){ //判断年度是否相符,如果相符说明有53个周。   result = 53;  }  return result; }     /**     * 计算某年某周的开始日期     * @param yearNum 格式 yyyy  ,必须大于1900年度 小于9999年      * @param weekNum 1到52或者53     * @return 日期,格式为yyyy-MM-dd     */    public static String getYearWeekFirstDay(int yearNum,int weekNum)  {  if(yearNum<1900 || yearNum >9999){   throw new NullPointerException("年度必须大于等于1900年小于等于9999年");  }      Calendar cal = Calendar.getInstance();      cal.setFirstDayOfWeek(Calendar.MONDAY); //设置每周的第一天为星期一      cal.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY);//每周从周一开始//      上面两句代码配合,才能实现,每年度的第一个周,是包含第一个星期一的那个周。      cal.setMinimalDaysInFirstWeek(7);  //设置每周最少为7天           cal.set(Calendar.YEAR, yearNum);      cal.set(Calendar.WEEK_OF_YEAR, weekNum);           //分别取得当前日期的年、月、日      return getFormatDate(cal.getTime());    }    /**     * 计算某年某周的结束日期     * @param yearNum 格式 yyyy  ,必须大于1900年度 小于9999年      * @param weekNum 1到52或者53     * @return 日期,格式为yyyy-MM-dd     */    public static String getYearWeekEndDay(int yearNum,int weekNum)  {  if(yearNum<1900 || yearNum >9999){   throw new NullPointerException("年度必须大于等于1900年小于等于9999年");  }           Calendar cal = Calendar.getInstance();      cal.setFirstDayOfWeek(Calendar.MONDAY); //设置每周的第一天为星期一      cal.set(Calendar.DAY_OF_WEEK, Calendar.SUNDAY);//每周从周一开始//      上面两句代码配合,才能实现,每年度的第一个周,是包含第一个星期一的那个周。            cal.setMinimalDaysInFirstWeek(7);  //设置每周最少为7天               cal.set(Calendar.YEAR, yearNum);      cal.set(Calendar.WEEK_OF_YEAR, weekNum);            return getFormatDate(cal.getTime());    }

               

    给我老师的人工智能教程打call!http://blog.csdn.net/jiangjunshow

    这里写图片描述
    展开全文
  • 计算一年多少,每个的开始日期和结束日期是什么
                     
     /**  * 返回指定年度的所有周。List中包含的是String[2]对象<br>  * string[0]本周的开始日期,string[1]是本周的结束日期。<br>  * 日期的格式为yyyy-MM-dd。<br>  * 每年的第一个周,必须包含星期一且是完整的七天。<br>  * 例如:2009年的第一个周开始日期为2009-01-05,结束日期为2009-01-11。 <br>  * 星期一在哪一年,那么包含这个星期的周就是哪一年的周。<br>  * 例如:2008-12-29是星期一,2009-01-04是星期日,哪么这个周就是2008年度的最后一个周。<br>  *   * @param year 格式 yyyy  ,必须大于1900年度 小于9999年   * @return   */ public static List<String[]> getWeeksByYear(final int year){  if(year<1900 || year >9999){   throw new NullPointerException("年度必须大于等于1900年小于等于9999年");  }  //实现思路,首先计算当年有多少个周,然后找到每个周的开始日期和结束日期  //  Calendar calendar = new GregorianCalendar();//  // 在具有默认语言环境的默认时区内使用当前时间构造一个默认的 GregorianCalendar。//  calendar.setFirstDayOfWeek(Calendar.MONDAY); //设置每周的第一天为星期一//  calendar.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY); //每周从周一开始  //      上面两句代码配合,才能实现,每年度的第一个周,是包含第一个星期一的那个周。  //  calendar.setMinimalDaysInFirstWeek(7);  //设置每周最少为7天//  calendar.set(Calendar.YEAR, year); // 设置年度为指定的年//  //首先计算当年有多少个周,每年都至少有52个周,个别年度有53个周  int weeks = getWeekNumByYear(year);//  System.out.println(year+"共有"+weeks+"个周");  List<String[]> result = new ArrayList<String[]>(weeks);  for(int i=1;i<=weeks;i++){   String[] tempWeek = new String[2];   tempWeek[0] = getYearWeekFirstDay(year,i);   tempWeek[1] = getYearWeekEndDay (year,i);//或者使用下面的代码,不过发现效率更低   //   tempWeek[0] = getDateAdd(firstWeekDay,(i-1)*7+0);//   tempWeek[1] = getDateAdd(firstWeekDay,(i-1)*7+6);      result.add(tempWeek);//   System.out.println(i+"="+tempWeek[0]+"_"+tempWeek[1]);  }  return result; } /**  * 计算指定年度共有多少个周。  * @param year 格式 yyyy  ,必须大于1900年度 小于9999年   * @return   */ public static int getWeekNumByYear(final int year){  if(year<1900 || year >9999){   throw new NullPointerException("年度必须大于等于1900年小于等于9999年");  }  int result = 52;//每年至少有52个周 ,最多有53个周。  String date = getYearWeekFirstDay(year,53);  if(date.substring(0, 4).equals(year+"")){ //判断年度是否相符,如果相符说明有53个周。   result = 53;  }  return result; }     /**     * 计算某年某周的开始日期     * @param yearNum 格式 yyyy  ,必须大于1900年度 小于9999年      * @param weekNum 1到52或者53     * @return 日期,格式为yyyy-MM-dd     */    public static String getYearWeekFirstDay(int yearNum,int weekNum)  {  if(yearNum<1900 || yearNum >9999){   throw new NullPointerException("年度必须大于等于1900年小于等于9999年");  }      Calendar cal = Calendar.getInstance();      cal.setFirstDayOfWeek(Calendar.MONDAY); //设置每周的第一天为星期一      cal.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY);//每周从周一开始//      上面两句代码配合,才能实现,每年度的第一个周,是包含第一个星期一的那个周。      cal.setMinimalDaysInFirstWeek(7);  //设置每周最少为7天           cal.set(Calendar.YEAR, yearNum);      cal.set(Calendar.WEEK_OF_YEAR, weekNum);           //分别取得当前日期的年、月、日      return getFormatDate(cal.getTime());    }    /**     * 计算某年某周的结束日期     * @param yearNum 格式 yyyy  ,必须大于1900年度 小于9999年      * @param weekNum 1到52或者53     * @return 日期,格式为yyyy-MM-dd     */    public static String getYearWeekEndDay(int yearNum,int weekNum)  {  if(yearNum<1900 || yearNum >9999){   throw new NullPointerException("年度必须大于等于1900年小于等于9999年");  }           Calendar cal = Calendar.getInstance();      cal.setFirstDayOfWeek(Calendar.MONDAY); //设置每周的第一天为星期一      cal.set(Calendar.DAY_OF_WEEK, Calendar.SUNDAY);//每周从周一开始//      上面两句代码配合,才能实现,每年度的第一个周,是包含第一个星期一的那个周。            cal.setMinimalDaysInFirstWeek(7);  //设置每周最少为7天               cal.set(Calendar.YEAR, yearNum);      cal.set(Calendar.WEEK_OF_YEAR, weekNum);            return getFormatDate(cal.getTime());    }

               

    再分享一下我老师大神的人工智能教程吧。零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到我们人工智能的队伍中来!https://blog.csdn.net/jiangjunshow

    展开全文
  • c# 计算一年多少周

    2020-01-02 09:26:15
    前两天计算获取2019有多少周,现有的代码算出来有54,看的我一脸懵逼。 以周一每周的第一天 public static int GetYearWeekCount(int year) { var dateTime = DateTime.Parse(year + "-01-01"); var ...

    前两天计算获取2019有多少周,现有的代码算出来有54周,看的我一脸懵逼。

    以周一为每周的第一天

    public static int GetYearWeekCount(int year)
    {
                
                var dateTime = DateTime.Parse(year + "-01-01");
                var firstDayOfWeek = Convert.ToInt32(dateTime.DayOfWeek);//得到该年的第一天是周几 [周日、周一、周二...周六]
                if (firstDayOfWeek == 1)
                {
                    var countDay = dateTime.AddYears(1).AddDays(-1).DayOfYear;
                    var countWeek = countDay / 7 + 1;
                    return countWeek;
                }
                else
                {
                    //转换周日为最后一天
                    if (firstDayOfWeek == 0)
                    {
                        firstDayOfWeek = 7;
                    }
    
                    var countDay = dateTime.AddYears(1).AddDays(-1).DayOfYear;
                    countDay -= (8 - firstDayOfWeek);
                    var countWeek = countDay / 7 + 2;
                    return countWeek;
                }
    }

     

    展开全文
  • C#计算一年多少周

    2019-10-04 06:00:49
    public static int GetYearWeekCount(int strYear) { System.DateTime fDt = DateTime.Parse(strYear.ToString() + "-01-01"); int k = Convert.ToInt32(fDt.DayOfWeek);//得到该年的第...
  • 业务需要,我们的周为业务周,周日到周六为一周,判断业务周围年的第几周,周日这天需要特殊处理。 如果是非跨年周,周日直接算作自然周所在周的下一周; 如果是跨年周,周日所在周分两种情况,1跨年周天数在新的...
  • C#关于日期月天数和一年多少周及某年某时间段的计算
  • 一年有多个,每周的开始日期和结束日期 参考代码一:[正在使用的版本] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20...
  • 42(当年第 42 )月------F月份完整文本格式例 January 或者 MarchJanuary Decemberm数字表示月份有前导零01 12M三字母缩写表示月份Jan Decn数字表示月份没有前导零1 12t给定月份所应有天数28 31年------L否闰年闰年...
  • <% Temp_F=firstday(2006) response.Write Temp_F&"<br>" response.Write DateDiff("ww","2006-1-1","2006-12-31")&..." '计算一年多少天 Temp_N=getfst(2006,52) response.Write Temp...
  • @brief 计算今天是一年的第几 @param [in] nYear 年 @param [in] nMonth 月 @param [in] nDate 日 @param [in] nWeek 星期几 @return uint16_t */ uint16_t Cal_YearWeek(int nYear, int nMonth, int nDate...
  • 根据具体日期计算一年的第几和当月的第几
  • Java中一年有几计算

    万次阅读 2016-09-23 10:03:12
    一般情况下java中一年有52。但因为52总共364天,而平年是365天,闰年是366天,如果一年只有52的话,就会差几天。所以每过几年,就会出现一年有53。比如2017年12月31日就位于当年第53: cal....
  • //本周是本年第几private int DatePart(System.DateTime dt){int weeknow = Convert.ToInt32(dt.DayOfWeek);//今天星期几int daydiff = (-1) * (weeknow+1);//今日与上周末的天数差int days = System.DateTime.Now...
  • /usr/bin/env python# -*- coding:utf-8 -*-import datetimeimport collectionsdef date_list_fun(starttime,endtime):'''计算输入的起始日期和结束日期之间的所有日期'''_u=datetime.timedelta(days=1)startdate=...
  • JS 获取某一年多少周 每周开始/结束结束日期 <html> <head> <title></title> <meta charset="UTF-8" /> </head> <body> <script> function formatDig(num){...
  • //按给定的年份计算本年总数  $date  =   new   DateTime ;  $date -> setISODate ( $year ,   53 );  $weeks  =  max ( $date -> format ( "W" ), 52 );   //如果给定的周数大于总数...
  • 如何计算一年的某一天是一年的第几给定一年第N天给定一年的第一天是周几W周日是0 ,周六是6公式 (N+W -1)/7 +1N+W -1可以理解指定的那天N之前可以有几,然后在加1就是所求的了N+W是为了得到一年的...
  • 主要介绍了PHP计算每周的开始和结束日期,php实现计算一年多少周,同时计算出每一的开始日期和结束日期,需要的朋友可以参考下
  • 比如 我有一是 4月的第2 那么这一是这一年的第多少周呢?</p>
  • $week = intval(date('W',time()));
  •  '''计算一年内所有的具体日期,每周都是7天,可能最后一到 下年  week_date 输出如{1: ['20181231', '20190101', '20190102', '20190103', '20190104', '20190105', '20190106'],...}  计算一年内...
  • MySql获取某天是一年的第几

    万次阅读 2015-12-29 16:51:33
    MySql获取某天是一年的第几,要求周一第一天,并且一年多余的天数算到第二年的第一,比如2012-12-24至2012-12-302012年的第53,2012-12-312013年的第一,(2012年有53),我测试了week(date,N)...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 42,299
精华内容 16,919
关键字:

一年计算为多少周