`
407827531
  • 浏览: 1075782 次
  • 性别: Icon_minigender_1
  • 来自: 厦门
社区版块
存档分类
最新评论

JAVA中用CALENDAR类计算周和周的起始日期(转)

 
阅读更多

推荐安卓开发神器(里面有各种UI特效和android代码库实例)

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 类计算周和周的起始日期 Java 中用 Calendar 类计算周和周的起始日期时,需要了解 Calendar 类的使用方法和日期计算的逻辑。在 Java 中,Calendar 类提供了计算周和周的起始日期的方法。 首先...

    week2utc.rar_GPS周内秒_GPS周和周内秒_gps周 周内秒_gps时间转换_site:www.pudn.com

    1. 将GPS周和周内秒组合成一个时间戳,即从1980年1月6日以来的总秒数。 2. 将这个时间戳加上GPS起始时间(1980年1月6日00:00:00 GPST)对应的UTC时间,通常需要考虑闰秒。 3. 转换得到的UTC时间可能需要调整闰秒,...

    GPS周和秒的计算

    开发者可能使用.NET框架,通过定义适当的类和方法来计算GPS周和秒,以及执行UTC到GPST和BDT的转换。例如,可能有一个名为`TimeConversion`的类,其中包含`UTCtoGPS`和`UTCtoBDT`的方法,这些方法接收UTC日期和时间...

    trans_time.zip_GPS周秒转公历_gps周计算_matlab GPS周内秒_trans_time_周内秒 计算

    各种时间之间的转换,...由公历日期和GPS周内秒计算公历时间, 将公历GPS时间转换到GPS周和周内秒, 将简化儒略日转换到公历时间, 将公历时间转换到简化儒略日, 从儒略日计算公历时间, 将公历时间转换到儒略日等。

    03时间转换与星期推算calm.rar_Calm_GPS周内秒_周秒转换_时间转换_简化儒略

    最近在学习GPS解算算法时需要在GPS时(GPS周和周内秒)和公历日期之间进行转换,于是就整理了一些时间转换的小程序。 本文介绍了GPS时、公历、儒略日(JD)、简化儒略日(MJD)之间的转换函数。

    C#实现GPS时间的计算(GPS周和秒)

    这个`UtcToGps`方法接受一个UTC日期时间对象,计算从GPS起始日期到该UTC时间的总秒数,然后将这个总秒数转换为GPS周和剩余的秒数。注意,这个转换忽略了闰秒的影响,因为GPS时间不处理闰秒。 相反,如果你已经知道...

    java:采用单例模式计算全年有多少个周,并列出所有周和每一周所对应的时间段(内含注释)

    本文主要介绍了使用Java语言结合单例模式来实现计算全年有多少个周,并列出所有周和每一周所对应的时间段的方法。通过对单例模式的理解、日期处理技巧的应用,以及循环遍历年度的方式,我们成功地实现了这个功能。...

    java 采用单例模式计算当年一共有多少个周,并列出所有周和每一周所对应的时间段(内含注释)

    为了计算一年中有多少个周以及每个周的起始和结束日期,`CycleDate` 类中的 `init()` 方法执行以下步骤: 1. 初始化起始日期和结束日期。 2. 遍历从起始日期到结束日期的所有日期,判断是否为周一。 3. 如果是周一...

    gps周 + 周内秒时间转换成 GPS 时间戳(单位:秒)

    - 在编程中,可以编写函数来执行这个转换,例如在Python中,可以创建一个名为`week_and_seconds_to_gps_timestamp`的函数,接收GPS周和周内秒作为参数,然后返回对应的GPS时间戳。 8. **应用场景**: - 这种转换...

    日期类的加减及java中所以日期类的操作算法大全

    本文将深入探讨Java中的日期类操作,包括日期的加减运算,以及如何利用不同的日期类进行高效的时间管理。 ### 一、日期类的基本操作 #### 1. 使用Calendar类 `Calendar`类是Java中处理日期和时间的核心类之一,它...

    BDTime2UTC.zip_partly3gq_北斗周_北斗周秒_北斗时 utc

    1. **北斗周的计算**:北斗周数可以通过计算从北斗时起始点(2006年1月1日)到当前日期的总秒数,然后除以7天的秒数(86400秒)得到的余数来确定。这个余数就是已过去的北斗周数。 2. **周内秒的计算**:从北斗时...

    GPS UTC时间转换函数

    例如,在Python中,你可以使用`datetime`模块来处理日期和时间,`pytz`库来处理时区转换,或者`gpsd`库来获取GPS数据。 总结一下,GPS UTC时间转换函数是IT领域中用于处理和转换全球定位系统时间的工具,它涉及到...

    C#_GPS周和秒的计算

    在C#编程中,处理GPS数据时,经常需要从接收到的GPS信息中解析出GPS周和秒,以便进一步计算出精确的日期和时间。本文将深入探讨GPS周和秒的概念以及如何在C#中进行相关的计算。 首先,了解GPS时间系统。GPS使用的是...

    Java实现:月,日,年,周,访问量统计

    `java.time.temporal.ChronoUnit`类提供了一些静态方法来计算两个日期之间的差距,如`between`方法可以用来计算两个日期之间相隔的天数、周数或月数。 8. **数据可视化**:统计结果可能需要以图表的形式展示,如...

    判断当前日期是否在本月的最后一周内

    本文将详细讲解如何根据给定的标题和描述,利用Java编程语言来判断当前日期是否在本月的最后一周内,以及如何判断日期是否在某一周内的最后几天、前几天或24小时内。 首先,我们需要引入Java的`java.time`包,这个...

    java 显示某年某月某一周的信息

    Java提供了一系列的类和方法来处理日期、时间以及周、月等概念,主要集中在`java.time`包下。下面我们将深入探讨如何实现这个功能。 首先,我们需要使用`java.time.LocalDate`类来表示日期。`LocalDate`类提供了...

    时间系统的转换:输入年月日世界时得到儒略日、gps时周数和秒数、年积日DOY,通过mfc窗口实现

    这里的`MonthDays`数组存储了每个月的天数,`LeapSeconds`函数用于确定闰秒数量,`GPS_WEEK_SECONDS`和`GPS_EPOCH_SECONDS`分别为GPS一周的秒数(864000)和GPS时的起始时间戳(315964800秒,即1980年1月6日00:00:00...

    GPS时间转换_MATLAB

    gps2cal1 由公历日期和GPS周内秒计算公历时间 cal2gps 将公历GPS时间转换到GPS周和周内秒 mjd2cal 将简化儒略日转换到公历时间 cal2mjd 将公历时间转换到简化儒略日 jd2cal 从儒略日计算公历时间 cal2jd 将公历时间...

    年月日计算GPS周

    在C#编程语言中,编写一个计算GPS周的小程序,可以帮助用户将日期转换为对应的GPS周数。这涉及到对日期和时间的处理,以及对GPS时间系统的理解。C#提供了丰富的DateTime类,可以用来表示和操作日期与时间,包括进行...

    计算周次(未规定每年第一天是属于第一周)

    在Java中,我们可以使用`Calendar`类的`setFirstDayOfWeek`方法来改变一周的起始日。 下面是一个简单的Python示例,展示了如何根据自定义规则计算周次: ```python from dateutil.relativedelta import ...

Global site tag (gtag.js) - Google Analytics