package com.tongyue.hot.web;

import java.util.Calendar;

import java.util.Date;

import java.util.GregorianCalendar;

public class Dateutil {

/**

* 取得当前日期是多少周

*

* @param date

* @return

*/

public static int getWeekOfYear(Date date) {

Calendar c = new GregorianCalendar();

c.setFirstDayOfWeek(Calendar.MONDAY);

c.setMinimalDaysInFirstWeek(7);

c.setTime (date);

return c.get(Calendar.WEEK_OF_YEAR);

}

/**

* 得到某一年周的总数

*

* @param year

* @return

*/

public static int getMaxWeekNumOfYear(int year) {

Calendar c = new GregorianCalendar();

c.set(year, Calendar.DECEMBER, 31, 23, 59, 59);

return getWeekOfYear(c.getTime());

}

/**

* 得到某年某周的第一天

*

* @param year

* @param week

* @return

*/

public static Date getFirstDayOfWeek(int year, int week) {

Calendar c = new GregorianCalendar();

c.set(Calendar.YEAR, year);

c.set (Calendar.MONTH, Calendar.JANUARY);

c.set(Calendar.DATE, 1);

Calendar cal = (GregorianCalendar) c.clone();

cal.add(Calendar.DATE, week * 7);

return getFirstDayOfWeek(cal.getTime ());

}

/**

* 得到某年某周的最后一天

*

* @param year

* @param week

* @return

*/

public static Date getLastDayOfWeek(int year, int week) {

Calendar c = new GregorianCalendar();

c.set(Calendar.YEAR, year);

c.set(Calendar.MONTH, Calendar.JANUARY);

c.set(Calendar.DATE, 1);

Calendar cal = (GregorianCalendar) c.clone();

cal.add(Calendar.DATE , week * 7);

return getLastDayOfWeek(cal.getTime());

}

/**

* 取得指定日期所在周的第一天

*

* @param date

* @return

*/

public static Date getFirstDayOfWeek(Date date) {

Calendar c = new GregorianCalendar();

c.setFirstDayOfWeek(Calendar.MONDAY);

c.setTime(date);

c.set(Calendar.DAY_OF_WEEK, c.getFirstDayOfWeek()); // Monday

return c.getTime ();

}

/**

* 取得指定日期所在周的最后一天

*

* @param date

* @return

*/

public static Date getLastDayOfWeek(Date date) {

Calendar c = new GregorianCalendar();

c.setFirstDayOfWeek(Calendar.MONDAY);

c.setTime(date);

c.set(Calendar.DAY_OF_WEEK, c.getFirstDayOfWeek() + 6); // Sunday

return c.getTime();

}

/**

* 取得当前日期所在周的第一天

*

* @param date

* @return

*/

public static Date getFirstDayOfWeek() {

Calendar c = new GregorianCalendar();

c.setFirstDayOfWeek(Calendar.MONDAY);

c.setTime(new Date());

c.set(Calendar.DAY_OF_WEEK, c.getFirstDayOfWeek()); // Monday

return c.getTime ();

}

/**

* 取得当前日期所在周的最后一天

*

* @param date

* @return

*/

public static Date getLastDayOfWeek() {

Calendar c = new GregorianCalendar();

c.setFirstDayOfWeek(Calendar.MONDAY);

c.setTime(new Date());

c.set(Calendar.DAY_OF_WEEK, c.getFirstDayOfWeek() + 6); // Sunday

return c.getTime();

}

/*

*

public static void main(String[] args) {

int year = 2009;

int week = 1;

// 以2006-01-02位例

Calendar c = new GregorianCalendar();

c.set(2009, Calendar.DECEMBER, 7);

Date d = c.getTime();

System.out.println("current date = " + d);

System.out.println("getWeekOfYear = " + getWeekOfYear(d));

System.out.println("getMaxWeekNumOfYear = " + getMaxWeekNumOfYear(year));

System.out.println("getFirstDayOfWeek = " + getFirstDayOfWeek(year, week));

System.out.println("getLastDayOfWeek = " + getLastDayOfWeek(year, week));

System.out.println ("getFirstDayOfWeek = " + getFirstDayOfWeek(d));

System.out.println("getLastDayOfWeek = " + getLastDayOfWeek(d));

System.out.println ("getFirstDayOfWeek = " + getFirstDayOfWeek());

System.out.println("getLastDayOfWeek = " + getLastDayOfWeek());

}

*/

}

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类计算周和周的起始日期(转)

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

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

    思路:首先是获取该月的实际天数,然后从1号遍历直至该月最后一天,利用Calendar类找出该日是一周中的第几天, (1)若该日是周日,则视为一周结束,并用该日期减去6找到该周的开始日期,若相减结果小于 ...

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

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

  5. java week of year_JDK Calendar类获取WEEK_OF_YEAR时的陷阱

    /*Calendar类是Java中使用的较为频繁的类,这个类中有很多静态方法非常实用,免去了我们自己手动计算日期的过程.Calendar.get(Calendar.WEEK_OF_YEAR) 用于获取 ...

  6. 计算本年 本月 本周的起始日期

    html: <table><tr><td align="right" width="120px"> 销售时间区间:</ ...

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

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

  8. java时间差工具_Java 工具类 计算两个日期之间相差 天 小时 分钟 秒

    java 日期做差 : 场景 判断过期 public static String dateDiff(String startTime, String endTime, String format) { ...

  9. import java.util.calendar_Java.util.Calendar.setTimeInMillis()

    描述 该java.util.Calendar.setTimeInMillis(long)方法给定的long值设置Calendar的当前时间. 声明 以下是java.util.Calendar.setT ...

最新文章

  1. hdu 5339 Untitled【搜索】
  2. NeHe教程Qt实现——lesson16
  3. redis之zskiplist
  4. android jni 调用java_Android JNI开发系列(九)JNI调用Java的静态方法实例方法
  5. 时间计算本质理论2-时间产生的虚拟化
  6. wpfdiagram 学习 教学_开启双自主学习模式 助力学生生命成长——长清湖实验学校开展“双自主合作学习”教学模式...
  7. ubuntu 使用apt-get install 安装php5.6--php7
  8. 交通灯程序设计C语言,基于MCS-51的交通灯程序设计(c语言控制直行左转,包含程序)...
  9. CPU可以跑多快?地球到火星的距离告诉你!
  10. markDown零碎整理
  11. python cad自动画图软件_科研画图都用什么软件?
  12. js生成二维码并下载、批量生成二维码和压缩下载
  13. 2022-05-08 基于卷积神经网络ResNet的车型识别(实验)
  14. 华为AP 6050DN配置成家庭路由器
  15. 单链表的定义、特点、结构及其一些基本操作
  16. python pd Series 添加行_pd.Series的基本操作
  17. 天猫精灵智能家居对接,及天猫iot官网配置图文讲解(二)
  18. 汽车vin码识别简述
  19. java中接口可以继承接口吗?
  20. 中南大学实验室安全知识 网上学习6小时的小工具,小技巧

热门文章

  1. 【git私服推送文件出现的问题】refusing to update checked out branch: refs/heads/master
  2. oracle安装 插件的执行方法失败_解决 VS Code 中 golang.org 被墙导致的 Go 插件安装失败问题...
  3. 机器人SLAM建图地图类型讨论
  4. centos7火狐浏览器上不了网_网络问题备忘:能ping通,就是上不了网
  5. python提高导入数据库速度_提高从MongoDB导入数据速度
  6. 实验2-2-3 计算存款利息 (10 分)
  7. HoloLens 2开发:使用Gaze开发,视线小球不停向眼端移动
  8. 关于消息推送,你可以知道这个
  9. 在java中String类为什么要设计成final
  10. Unity toLua加载lua的流程