Java中有关日期的操作,昨天晚上赴约,搞到12点多才回来,今天写这一小段代码都花了一段漫长的时间,哎。。
2009-03-30 17:23
801 查看
Java中有关日期的操作,昨天晚上赴约,搞到12点多才回来,今天写这一小段代码都花了一段漫长的时间,哎。。
代码奉上:
加上以前的代码:
代码奉上:
/** * * @param date * @return which month is belonged to the param date * @author Xing,Xiudong */ public int getMonthOfDate(Date date) { Calendar c = Calendar.getInstance(); c.setTime(date); int year = c.get(Calendar.YEAR); int month = c.get(Calendar.MONTH); Date firstDayOfNextMonth = DateTools.getFirstSatudayOfMonth( month == 11 ? ++year : year, month == 11 ? 0 : ++month); Date lastDayOfMonth = DateUtils.addDays(firstDayOfNextMonth, -1); c.setTime(date); int result = c.get(Calendar.MONTH); return date.after(lastDayOfMonth) ? ++result : result; } /** * * @param date * @return which year is belonged to the param date * @author Xing,Xiudong */ public int getYearOfDate(Date date) { Calendar c = Calendar.getInstance(); c.setTime(date); int year = c.get(Calendar.YEAR); c.set(++year, 1, 1); Date firstDayOfYear = DateTools.getFirstSatudayOfMonth(c .get(Calendar.YEAR), 0); int result = c.get(Calendar.YEAR); return date.before(firstDayOfYear) ? --result : result; }
加上以前的代码:
/** * * @param date * @return first day(Satuday) of month * @author Jin, QingHua */ public static Date getFirstSatudayOfMonth(int year, int month) { Calendar cal = GregorianCalendar.getInstance(); cal.set(year, month, 1); cal.setFirstDayOfWeek(Calendar.SATURDAY); cal.set(Calendar.DAY_OF_WEEK, cal.getFirstDayOfWeek()); return cal.getTime(); } /** * * @param date * @return first day(Satuday) of week * @author Wu,Yang */ public static Date getFirstSatudayOfWeek(Date date) { Calendar cal = GregorianCalendar.getInstance(); cal.setTime(date); cal.setFirstDayOfWeek(Calendar.SATURDAY); cal.set(Calendar.DAY_OF_WEEK, cal.getFirstDayOfWeek()); return cal.getTime(); } /** * * @param date * @return week count of month of date * @author Xing,Xiudong */ public Integer getWeekCountOfMonth(int year, int month) { Date first_day_month = DateTools .getFirstSatudayOfMonth(year, month - 1); Calendar cal_lastly = Calendar.getInstance(); cal_lastly.set(year, month, 1); Date firstDayofNextMonth = cal_lastly.getTime(); Integer count = 0; for (Date first_day_week = first_day_month; first_day_week .before(firstDayofNextMonth); first_day_week = DateUtils .addDays(first_day_week, 7)) { count++; } return count; }
相关文章推荐
- Java中有关日期的操作,昨天晚上赴约,搞到12点多才回来,今天写这一小段代码都花了一段漫长的时间,哎。。
- Java中有关日期的操作,昨天晚上赴约,搞到12点多才回来,今天写这一小段代码都花了一段漫长的时间,哎。。
- [常用]非常有用的Java日期时间操作函数代码一览
- 非常有用的Java日期时间操作函数代码一览
- 有关java时间日期操作大全
- 非常有用的Java日期时间操作函数代码一览
- Java Calendar 类时间操作,代码很简单。 演示了获取时间,日期时间的累加和累减,以及比较。
- java日期时间操作函数代码
- 非常有用的Java日期时间操作函数代码一览
- 非常有用的Java日期时间操作函数代码一览
- java中关于时间日期操作的常用函数(转摘)
- java中关于时间日期操作的常用函数
- java中关于时间日期操作的常用函数
- 关于日期时间操作工具类DateUtil(二) -----对java.sql.Timestamp 的操作.
- JAVA中的日期时间操作
- java中关于时间日期操作的常用函数(转摘)
- Python文件操作,时间日期操作,collections增强,Deque(类似java的LinkedList),OrderedDict,Counter
- java文件操作,集合操作 时间日期的操作 bulidPath介绍
- java中关于时间日期操作的常用函数
- 下列代码可以实现把Java的CST格式的时间字符串转为为Date对象和所需要的日期时间格式!