public class DateUtil { / 获取给定时间所在周的第一天(Sunday)的日期和最后一天(Saturday)的日期 @param calendar @return Date数组,[0]为第一天的日期,[1]最后一天的日期 / public Date[] getWeekStartAndEndDate(Calendar calendar) { Date[] dates = new Date[2]; Date firstDateOfWeek, lastDateOfWeek; // 得到当天是这周的第几天 int dayOfWeek = calendarget(CalendarDAY_OF_WEEK); // 减去dayOfWeek,得到第一天的日期,因为Calendar用0-6代表一周七天,所以要减一 calendaradd(CalendarDAY_OF_WEEK, -(dayOfWeek - 1)); firstDateOfWeek = calendargetTime(); // 每周7天,加6,得到最后一天的日子 calendaradd(CalendarDAY_OF_WEEK, 6); lastDateOfWeek = calendargetTime(); dates[0] = firstDateOfWeek; dates[1] = lastDateOfWeek; return dates; } / 获取给定时间所在月的第一天F的日期和最后一天的日期 @param calendar @return Date数组,[0]为第一天的日期,[1]最后一天的日期 / public Date[] getMonthStartAndEndDate(Calendar calendar) { Date[] dates = new Date[2]; Date firstDateOfMonth, lastDateOfMonth; // 得到当天是这月的第几天 int dayOfMonth = calendarget(CalendarDAY_OF_MONTH); // 减去dayOfMonth,得到第一天的日期,因为Calendar用0代表每月的第一天,所以要减一 calendaradd(CalendarDAY_OF_MONTH, -(dayOfMonth - 1)); firstDateOfMonth = calendargetTime(); // calendargetActualMaximum(CalendarDAY_OF_MONTH)得到这个月有几天 calendaradd(CalendarDAY_OF_MONTH, calendar getActualMaximum(CalendarDAY_OF_MONTH) - 1); lastDateOfMonth = calendargetTime(); dates[0] = firstDateOfMonth; dates[1] = lastDateOfMonth; return dates; } public static void main(String[] args) { DateUtil dateUtil = new DateUtil(); Calendar now = CalendargetInstance(); Date[] weekDates = dateUtilgetWeekStartAndEndDate(now); Date[] monthDates = dateUtilgetMonthStartAndEndDate(now); Systemoutprintln("firstDateOfWeek: " + weekDates[0] + " ,lastDateOfWeek: " + weekDates[1]); Systemoutprintln("firstDateOfMonth: " + monthDates[0] + " ,lastDateOfMonth: " + monthDates[1]); }}
这个比较简单,4行代码就行
Calendar calendar = CalendargetInstance();
calendarset(CalendarDAY_OF_MONTH, 1);
SimpleDateFormat format = new SimpleDateFormat("E");
Systemoutprintln("本月第一天是:" + formatformat(calendargetTime()));
如果你要得到一个数字的话就是:
calendarget(CalendarDAY_OF_WEEK),当然,这个结果是以星期天为第一天算出来的,如果要换成星期一开始,减1就行了
希望能帮助你。
public getWeekCount(Date date){
// 获取日历类实例
javautilCalendar calendar = javautilCalendargetInstance();
// 设置时间
calendarsetTime(date);
// 设置周一为每周第一天
calendarsetFirstDayOfWeek(javautilCalendarMONDAY);
// 返回当年最大周数
return calendargetActualMaximum(javautilCalendarWEEK_OF_YEAR);
}
以上就是关于java怎么得到某个月的第一天和最后一天的日期,以2012-06为例全部的内容,包括:java怎么得到某个月的第一天和最后一天的日期,以2012-06为例、急:用java如何得到当前月的第一天是星期几、Java 获取一年有多少个周 从新年的第一个 星期一 开始算等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)