java 获取周、月、年的第一天以及最后一天的详细代码
2015-04-23 10:26
260 查看
public class MyCalendar {
public static Date getDate(Calendar c) {
return new Date(c.getTimeInMillis());
}
/**
* 得到本周第一天
* @return
*/
public static Calendar getFirstDayOfWeek() {
Calendar monday = Calendar.getInstance();
return getADayOfWeek(monday, Calendar.MONDAY);
}
/**
* 得到本周第一天
* @param day
* @return
*/
public static Calendar getFirstDayOfWeek(Calendar day) {
Calendar monday = (Calendar) day.clone();
return getADayOfWeek(monday, Calendar.MONDAY);
}
/**
* 得到本周最后一天
* @return
*/
public static Calendar getLastDayOfWeek() {
Calendar sunday = Calendar.getInstance();
return getADayOfWeek(sunday, Calendar.SUNDAY);
}
/**
* 得到本周最后一天
* @param day
* @return
*/
public static Calendar getLastDayOfWeek(Calendar day) {
Calendar sunday = (Calendar) day.clone();
return getADayOfWeek(sunday, Calendar.SUNDAY);
}
private static Calendar getADayOfWeek(Calendar day, int dayOfWeek) {
int week = day.get(Calendar.DAY_OF_WEEK);
if (week == dayOfWeek)
return day;
int diffDay = dayOfWeek - week;
if (week == Calendar.SUNDAY) {
diffDay -= 7;
} else if (dayOfWeek == Calendar.SUNDAY) {
diffDay += 7;
}
day.add(Calendar.DATE, diffDay);
return day;
}
/**
* 得到本月的第一天
* @return
*/
public static Calendar getMonthFirstDay() {
Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.DAY_OF_MONTH, calendar
.getActualMinimum(Calendar.DAY_OF_MONTH));
return calendar;
}
/**
* 得到本月的最后一天
*
* @return
*/
public static Calendar getMonthLastDay() {
Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.DAY_OF_MONTH, calendar
.getActualMaximum(Calendar.DAY_OF_MONTH));
return calendar;
}
/**
* 得到本年度第一天
* @return
*/
public static Calendar getYearFristDay(){
Calendar calendar =Calendar.getInstance();
int year=calendar.get(Calendar.YEAR);
calendar.clear();
calendar.set(Calendar.YEAR, year);
return calendar;
}
/**
* 得到本年度最后一天
* @return
*/
public static Calendar getYearLastDay(){
Calendar calendar =Calendar.getInstance();
int year=calendar.get(Calendar.YEAR);
calendar.clear();
calendar.set(Calendar.YEAR, year);
calendar.roll(Calendar.DAY_OF_YEAR, -1);
return calendar;
}
public static void main(String[] args){
Calendar day=Calendar.getInstance();
int month=day.get(Calendar.DAY_OF_MONTH);
System.out.println("month:"+month);
SimpleDateFormat format=new SimpleDateFormat("yyyy-MM-dd 00:00:00");
String dates=format.format(MyCalendar.getDate(MyCalendar.getFirstDayOfWeek()));
String datee=format.format(MyCalendar.getDate(MyCalendar.getLastDayOfWeek()));
String months=format.format(MyCalendar.getDate(MyCalendar.getMonthFirstDay()));
String monthe=format.format(MyCalendar.getDate(MyCalendar.getMonthLastDay()));
String years=format.format(MyCalendar.getDate(MyCalendar.getYearFristDay()));
String yeare=format.format(MyCalendar.getDate(MyCalendar.getYearLastDay()));
System.out.println("weekday :"+dates+"=========== end:"+datee);
System.out.println("months :"+months+"=========== end:"+monthe);
System.out.println("years :"+years+"=========== end:"+yeare);
}
}
public static Date getDate(Calendar c) {
return new Date(c.getTimeInMillis());
}
/**
* 得到本周第一天
* @return
*/
public static Calendar getFirstDayOfWeek() {
Calendar monday = Calendar.getInstance();
return getADayOfWeek(monday, Calendar.MONDAY);
}
/**
* 得到本周第一天
* @param day
* @return
*/
public static Calendar getFirstDayOfWeek(Calendar day) {
Calendar monday = (Calendar) day.clone();
return getADayOfWeek(monday, Calendar.MONDAY);
}
/**
* 得到本周最后一天
* @return
*/
public static Calendar getLastDayOfWeek() {
Calendar sunday = Calendar.getInstance();
return getADayOfWeek(sunday, Calendar.SUNDAY);
}
/**
* 得到本周最后一天
* @param day
* @return
*/
public static Calendar getLastDayOfWeek(Calendar day) {
Calendar sunday = (Calendar) day.clone();
return getADayOfWeek(sunday, Calendar.SUNDAY);
}
private static Calendar getADayOfWeek(Calendar day, int dayOfWeek) {
int week = day.get(Calendar.DAY_OF_WEEK);
if (week == dayOfWeek)
return day;
int diffDay = dayOfWeek - week;
if (week == Calendar.SUNDAY) {
diffDay -= 7;
} else if (dayOfWeek == Calendar.SUNDAY) {
diffDay += 7;
}
day.add(Calendar.DATE, diffDay);
return day;
}
/**
* 得到本月的第一天
* @return
*/
public static Calendar getMonthFirstDay() {
Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.DAY_OF_MONTH, calendar
.getActualMinimum(Calendar.DAY_OF_MONTH));
return calendar;
}
/**
* 得到本月的最后一天
*
* @return
*/
public static Calendar getMonthLastDay() {
Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.DAY_OF_MONTH, calendar
.getActualMaximum(Calendar.DAY_OF_MONTH));
return calendar;
}
/**
* 得到本年度第一天
* @return
*/
public static Calendar getYearFristDay(){
Calendar calendar =Calendar.getInstance();
int year=calendar.get(Calendar.YEAR);
calendar.clear();
calendar.set(Calendar.YEAR, year);
return calendar;
}
/**
* 得到本年度最后一天
* @return
*/
public static Calendar getYearLastDay(){
Calendar calendar =Calendar.getInstance();
int year=calendar.get(Calendar.YEAR);
calendar.clear();
calendar.set(Calendar.YEAR, year);
calendar.roll(Calendar.DAY_OF_YEAR, -1);
return calendar;
}
public static void main(String[] args){
Calendar day=Calendar.getInstance();
int month=day.get(Calendar.DAY_OF_MONTH);
System.out.println("month:"+month);
SimpleDateFormat format=new SimpleDateFormat("yyyy-MM-dd 00:00:00");
String dates=format.format(MyCalendar.getDate(MyCalendar.getFirstDayOfWeek()));
String datee=format.format(MyCalendar.getDate(MyCalendar.getLastDayOfWeek()));
String months=format.format(MyCalendar.getDate(MyCalendar.getMonthFirstDay()));
String monthe=format.format(MyCalendar.getDate(MyCalendar.getMonthLastDay()));
String years=format.format(MyCalendar.getDate(MyCalendar.getYearFristDay()));
String yeare=format.format(MyCalendar.getDate(MyCalendar.getYearLastDay()));
System.out.println("weekday :"+dates+"=========== end:"+datee);
System.out.println("months :"+months+"=========== end:"+monthe);
System.out.println("years :"+years+"=========== end:"+yeare);
}
}
相关文章推荐
- JAVA代码获取月份的第一天跟最后一天
- java获取本月开始时间和结束时间、上个月第一天和最后一天的时间以及当前日期往前推一周、一个月
- java代码的时间类,获取每年的第一天和最后一天
- java获取本月开始时间和结束时间、上个月第一天和最后一天的时间以及当前日期往前推一周、一个月
- java以及JavaScript获取当月第一天和最后一天日期
- Java获取一年里某季、某月、某周的第一天及最后一天时间的完整代码如下:
- java获取当前月和周的第一天和最后一天
- Java实现获取某年某月第一天/最后一天的方法
- java获取当前年份的第一天和最后一天和获取指定日期的季度
- PHP获取本周第一天和最后一天示例代码
- php 获取一个月第一天与最后一天的代码
- 【java】获取一年里某季、某月、某周的第一天及最后一天时间(日期工具类)
- java 获取当月第一天和最后一天 获取前一个月第一天和最后一天
- Java获取当前时间的上一个月和下一个月,第一天和最后一天,任意时间的第一天和最后一天,任意时间上一个月和下一个月
- java 和 mysql 获取周 星期 的第一天 最后一天 或者 月的 日期(字符串转日期,日期转字符串,日期加减)
- java获取当前月第一天和最后一天,上个月第一天和最后一天
- java获取某月的第一天和最后一天
- java 获取当月第一天和最后一天 获取前一个月第一天和最后一天
- Java获取一年有多少周、某周的第一天和最后一天.
- JAVA 获取当前月第一天,最后一天;上个月第一天,最后一天;下个月第一天,最有一天。