1 packagecom.tongyue.hot.web;2

3 importjava.util.Calendar;4 importjava.util.Date;5 importjava.util.GregorianCalendar;6

7 public classDateutil {8

9 /**

10 * 取得当前日期是多少周11 *12 *@paramdate13 *@return

14 */

15 public static intgetWeekOfYear(Date date) {16 Calendar c = newGregorianCalendar();17 c.setFirstDayOfWeek(Calendar.MONDAY);18 c.setMinimalDaysInFirstWeek(7);19 c.setTime (date);20

21 returnc.get(Calendar.WEEK_OF_YEAR);22 }23

24 /**

25 * 得到某一年周的总数26 *27 *@paramyear28 *@return

29 */

30 public static int getMaxWeekNumOfYear(intyear) {31 Calendar c = newGregorianCalendar();32 c.set(year, Calendar.DECEMBER, 31, 23, 59, 59);33

34 returngetWeekOfYear(c.getTime());35 }36

37 /**

38 * 得到某年某周的第一天39 *40 *@paramyear41 *@paramweek42 *@return

43 */

44 public static Date getFirstDayOfWeek(int year, intweek) {45 Calendar c = newGregorianCalendar();46 c.set(Calendar.YEAR, year);47 c.set (Calendar.MONTH, Calendar.JANUARY);48 c.set(Calendar.DATE, 1);49

50 Calendar cal =(GregorianCalendar) c.clone();51 cal.add(Calendar.DATE, week * 7);52

53 returngetFirstDayOfWeek(cal.getTime ());54 }55

56 /**

57 * 得到某年某周的最后一天58 *59 *@paramyear60 *@paramweek61 *@return

62 */

63 public static Date getLastDayOfWeek(int year, intweek) {64 Calendar c = newGregorianCalendar();65 c.set(Calendar.YEAR, year);66 c.set(Calendar.MONTH, Calendar.JANUARY);67 c.set(Calendar.DATE, 1);68

69 Calendar cal =(GregorianCalendar) c.clone();70 cal.add(Calendar.DATE , week * 7);71

72 returngetLastDayOfWeek(cal.getTime());73 }74

75 /**

76 * 取得指定日期所在周的第一天77 *78 *@paramdate79 *@return

80 */

81 public staticDate getFirstDayOfWeek(Date date) {82 Calendar c = newGregorianCalendar();83 c.setFirstDayOfWeek(Calendar.MONDAY);84 c.setTime(date);85 c.set(Calendar.DAY_OF_WEEK, c.getFirstDayOfWeek()); //Monday

86 returnc.getTime ();87 }88

89 /**

90 * 取得指定日期所在周的最后一天91 *92 *@paramdate93 *@return

94 */

95 public staticDate getLastDayOfWeek(Date date) {96 Calendar c = newGregorianCalendar();97 c.setFirstDayOfWeek(Calendar.MONDAY);98 c.setTime(date);99 c.set(Calendar.DAY_OF_WEEK, c.getFirstDayOfWeek() + 6); //Sunday

100 returnc.getTime();101 }102

103 /**

104 * 取得当前日期所在周的第一天105 *106 *@paramdate107 *@return

108 */

109 public staticDate getFirstDayOfWeek() {110 Calendar c = newGregorianCalendar();111 c.setFirstDayOfWeek(Calendar.MONDAY);112 c.setTime(newDate());113 c.set(Calendar.DAY_OF_WEEK, c.getFirstDayOfWeek()); //Monday

114 returnc.getTime ();115 }116

117 /**

118 * 取得当前日期所在周的最后一天119 *120 *@paramdate121 *@return

122 */

123 public staticDate getLastDayOfWeek() {124 Calendar c = newGregorianCalendar();125 c.setFirstDayOfWeek(Calendar.MONDAY);126 c.setTime(newDate());127 c.set(Calendar.DAY_OF_WEEK, c.getFirstDayOfWeek() + 6); //Sunday

128 returnc.getTime();129 }130 /*

131 *132

133 public static void main(String[] args) {134 int year = 2009;135 int week = 1;136

137 // 以2006-01-02位例138 Calendar c = new GregorianCalendar();139 c.set(2009, Calendar.DECEMBER, 7);140 Date d = c.getTime();141

142 System.out.println("current date = " + d);143 System.out.println("getWeekOfYear = " + getWeekOfYear(d));144 System.out.println("getMaxWeekNumOfYear = " + getMaxWeekNumOfYear(year));145 System.out.println("getFirstDayOfWeek = " + getFirstDayOfWeek(year, week));146 System.out.println("getLastDayOfWeek = " + getLastDayOfWeek(year, week));147 System.out.println ("getFirstDayOfWeek = " + getFirstDayOfWeek(d));148 System.out.println("getLastDayOfWeek = " + getLastDayOfWeek(d));149 System.out.println ("getFirstDayOfWeek = " + getFirstDayOfWeek());150 System.out.println("getLastDayOfWeek = " + getLastDayOfWeek());151 }152 */

153 }

java calendar日期计算_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类的常用方法(对时间进行计算的类)

    例子: /**** * 传入具体日期 ,返回具体日期增加一个月. * @param date 日期(2017-04-13) * @return 2017-05-13 * @throws ParseEx ...

  3. java calendar 增加年_java 使用Date类、Calendar类,实现增加日期

    Date date= new Date(); System.out.println("Date date= new Date()中的date: "+date); 输出对象date: ...

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

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

  5. java calendar 日期差_java利用Calendar如何计算两个日期只差?

    展开全部 Java创建一个日历对象,需要引入java.util.*包,用当前时间初始化日历时间,计算62616964757a686964616fe4b893e5b19e31333337616634两个 ...

  6. java正则判断日期格式_Java中用正则表达式判断日期格式是否正确

    1.Java中用正则表达式判断日期格式是否正确 DateType.java: /** * @Title:DateType.java * @Package:com.you.dao * @Descript ...

  7. java未来7天_java 获取当前天之后或之前7天(任意)日期

    获取过去某一天的日期,然后可以利用for 循环,从高到低(或者从低到高,决定日期数组的顺序),获取过去任意天数内的日期,同理可以写出未来任意天数的方法. /** * 获取过去或者未来 任意天内的日期数 ...

  8. JAVA 获取今天,7天前,一个月前,今年起始日期,同比日期 各种时间段的方法归结

    public class DateUtil {/***@Author ht*@Date 2020/12/2 15:31* 当前时间前多少天*/public static String getPastD ...

  9. java jmenu 监听_Java中用得比较顺手的事件监听

    第一次听说监听是三年前,做一个webGIS的项目,当时对Listener的印象就是个"监视器",监视着界面的一举一动,一有动静就触发对应的响应. 一.概述 通过对界面的某一或某些操 ...

最新文章

  1. VBA实现两种方法生成任意概率分布的随机数
  2. .NET防SQL注入方法
  3. BZOJ 2038: [2009国家集训队]小Z的袜子(hose)【莫队算法裸题学习笔记】
  4. 【转】Odoo装饰器: one装饰
  5. 云原生全景图之五:应用程序定义和开发层
  6. centos 7 firefox启用java_一文详解各种花里胡哨的Java调试技巧,多图预警,记得收藏...
  7. java 复制对象_Java核心知识 基础七 JAVA 复制
  8. 触发器 创建 删除 等操作
  9. 插件中对动态表单数据模型进行赋值实现动态表单数据绑定
  10. Linux下使用nohup运行python脚本报错:Import error: No module named numpy问题解决
  11. asp.net中英文转换
  12. PowerBi包含什么,以及每一个的介绍
  13. HTML特殊符号表示方法
  14. [转载]2016年高考二轮复习备考文化常识100题及答案详解
  15. 处理7z格式的001 002 文件
  16. go之官方依赖管理工具dep安装和使用
  17. 如何用Python生成二维码
  18. ArcGIS数据降雨量插值
  19. 产品硬件成本分析_硬件项目中的错误成本
  20. android 开关机动画

热门文章

  1. EGL和OpenGL简介
  2. Android中复制及粘贴功能
  3. 不懂这些外汇基础知识,你还想炒外汇?
  4. 公司企业网站怎么做?
  5. 游戏辅助原理与制作02-植物大战僵尸00-概述
  6. 一代天骄成吉思汗的秘葬
  7. 打工仔的难处却得到了老板的面子
  8. 脚踏实地《数据结构第二章》第一节:线性表的定义和基本操作
  9. thrift-transport
  10. 全球及中国沥青基碳纤维市场需求格局与供给前景预测报告2022版