思路:首先是获取该月的实际天数,然后从1号遍历直至该月最后一天,利用Calendar类找出该日是一周中的第几天,

(1)若该日是周日,则视为一周结束,并用该日期减去6找到该周的开始日期,若相减结果小于等于1,则说明该周起始日期应该是本月1号。

(1)若该日不是周日,且是该月最后一天,则应该在上面计算的基础上再加一周,视月末为该周的结束日,该周起始日期应为改日期减去改日

在一周中的位置加2,例如:2013-09-30号是周一,则视为9月份中的第六周,开始日期是30-2+2

提示:Calendar 类中视周日为一周的开始,值是1

示例代码:

public static void printfWeeks(String date) throws Exception {

// String date = "2013-09";

DateFormat dateFormat = new SimpleDateFormat("yyyy-MM");

Date date1 = dateFormat.parse(date);

Calendar calendar = new GregorianCalendar();

calendar.setTime(date1);

int days = calendar.getActualMaximum(Calendar.DAY_OF_MONTH);

System.out.println("days:" + days);

int count = 0;

for (int i = 1; i <= days; i++) {

DateFormat dateFormat1 = new SimpleDateFormat("yyyy-MM-dd");

Date date2 = dateFormat1.parse(date + "-" + i);

calendar.clear();

calendar.setTime(date2);

int k = new Integer(calendar.get(Calendar.DAY_OF_WEEK));

if (k == 1) {// 若当天是周日

count++;

System.out.println("-----------------------------------");

System.out.println("第" + count + "周");

if (i - 6 <= 1) {

System.out.println("本周开始日期:" + date + "-" + 1);

} else {

System.out.println("本周开始日期:" + date + "-" + (i - 6));

}

System.out.println("本周结束日期:" + date + "-" + i);

System.out.println("-----------------------------------");

}

if (k != 1 && i == days) {// 若是本月最好一天,且不是周日

count++;

System.out.println("-----------------------------------");

System.out.println("第" + count + "周");

System.out.println("本周开始日期:" + date + "-" + (i - k + 2));

System.out.println("本周结束日期:" + date + "-" + i);

System.out.println("-----------------------------------");

}

}

}

测试代码:

public static void main(String[] args) throws Exception {

String s = "2013-";

for (int i = 1; i <= 12; i++) {

System.out.println("");

System.out.println("月份:" + i);

printfWeeks(s + i);

System.out.println("");

}

//        printfWeeks(s + 2);

}

java 自然周_java 使用Calendar类计算每月有多少自然周,并输出每周的开始和结束日期...相关推荐

  1. java 日期类 周_Java中用Calendar类计算周和周的起始日期

    package com.tongyue.hot.web; import java.util.Calendar; import java.util.Date; import java.util.Greg ...

  2. java calendar日期计算_JAVA中用CALENDAR类计算周和周的起始日期(转)

    1 packagecom.tongyue.hot.web;2 3 importjava.util.Calendar;4 importjava.util.Date;5 importjava.util.G ...

  3. php 今天起一年后,PHP计算一年多少个星期和每周的开始和结束日期

    项目中需要做个提交周报的功能,需要知道指定周数的开始日期和结束日期,以便处理其他业务.以下是一段通过PHP来获取一年中的每星期的开始日期和结束日期的代码,与大家分享. function get_wee ...

  4. java -Date、DateFormat、Calendar类

    Date类概述 类 Date 表示特定的瞬间,精确到毫秒. 毫秒概念:1000毫秒=1秒 毫秒的0点: System.currentTimeMillis()  相当于Date d = new Date ...

  5. java 一年有多少周_java中如何计算一年总共有多少周

    展开全部 计算一62616964757a686964616fe4b893e5b19e31333337393631年有多少个周的思路:首先,每年至少有52个周,至多有53个周,取决于周一是在哪年(也可以 ...

  6. java 日期calendar_Java中用Calendar类计算周和周的起始日期(转)

    package com.tongyue.hot.web; import java.util.Calendar; import java.util.Date; import java.util.Greg ...

  7. 使用Java的Calendar类计算两段时间之间的工作日的天/小时/分钟/秒数

    计算两段时间之间的工作日的天/小时/分钟/秒数 我们能经常遇到一些需求,让获取工作日的时间(当然,调休也上班也是工作日哈!),之前自己给这搞得头大,所以整理总结,把该工具类记录下来,希望大家能用到的时 ...

  8. calendar类计算时间距离_日期时间--JAVA成长之路

    Java中为处理日期和时间提供了大量的API,确实有把一件简单的事情搞复杂的嫌疑,各种类:Date Time Timestamp Calendar...,但是如果能够看到时间处理的本质就可以轻松hol ...

  9. java中用法实例_java中Calendar类用法实例详解

    本文实例讲述了java中Calendar类用法.分享给大家供大家参考,具体如下: java中的Calendar在开发中经常被忽略,这篇博客总结一下这个类,对后面项目中使用时期的时候有帮助. Calen ...

最新文章

  1. 常用PHP array数组函数
  2. Java线程池使用说明
  3. hadoop退出安全模式Name node is in safe mode
  4. python生成wps文件_使用Python操作XLS文件(wps中叫et)
  5. git tag (打标签)
  6. 嗖嗖移动业务大厅项目_会员合作项目:10086移动外呼业务
  7. Java课程设计答辩之感想
  8. C++ basic_string
  9. 计算机表演赛安徽,全国青少年科技创新活动服务平台
  10. 漫谈分布式游戏服务器
  11. python绘制三维地形shade()参数_python中的Matplot库和Gdal库绘制富士山三维地形图-参考了虾神的喜马拉雅山...
  12. 国务院智囊建议全面放开二胎:越晚越被动
  13. 解决VMware下安装Ubuntu 16.04 不支持1920X1080分辨率的问题
  14. 在pcb布线中,要使拐角成圆弧形,应该怎么设置
  15. python数据处理--按照数据差值大小进行聚类(归类)
  16. 『力扣刷题』5275_找出井字棋的获胜者 解题代码
  17. 完整性+存储过程和函数——CHECK / CONSTRAINT / TRIGGER / PROCEDURE/ FUNCTION
  18. 电力英语和计算机平台,电力计算信息平台,the Computing Information Platform of Electric Power,音标,读音,翻译,英文例句,英语词典...
  19. winsty: 我的PhD总结
  20. Linux输出“Argument list too long”的解决方法

热门文章

  1. 如何配置无线WiFi短信认证登录?
  2. php mysql 插入图片_mysql中怎样插入图片
  3. 基于单片机体温心率脉搏检测仪系统设计-毕设资料
  4. java江湖壹_江湖壹怎么玩 江湖壹玩法攻略
  5. 3年级计算机的知识能力,三年级信息技术教案资料三篇
  6. sqlserver之远程访问配置
  7. 香港和内地重疾险25种常见重疾定义对比全解析
  8. 腾讯云 linux pptpd 搭建 和遇到的部分问题解决
  9. 南宁计算机等级考试报名点,2018年下半年广西壮族自治区南宁计算机等级考试报名时间...
  10. 自动化脚本腾讯云配置集群(三)批量修改host