Calendar cale = Calendar.getInstance();
//获取年
int year = c.get(Calendar.YEAR);
//获取月份,0表示1月份
int month = c.get(Calendar.MONTH) + 1;
//获取当前天数
int day = c.get(Calendar.DAY_OF_MONTH);
//获取本月最小天数
int minMonth = c.getActualMinimum(Calendar.DAY_OF_MONTH);
//获取本月最大天数
int maxMonth = c.getActualMaximum(Calendar.DAY_OF_MONTH);
//获取当前小时
int hour = c.get(Calendar.HOUR_OF_DAY);
//获取当前分钟
int minute = c.get(Calendar.MINUTE);
//获取当前秒
int second = c.get(Calendar.SECOND);
//获取前一年、月、天的时间
Calendar cale = Calendar.getInstance();// 得到一个Calendar的实例
//cale.setTime(new Date()); // 设置时间为当前时间
cale.set(2018, 07, 04);// 月份是从0开始的,所以11表示12月
cale.add(Calendar.YEAR, -1); // 年份减1
cale.add(Calendar.MONTH, -1);// 月份减1
cale.add(Calendar.DATE, -1);// 日期减1
--------- 自己写的一些工具 -------------
package com.mtoliv.fams.utils;
import java.text.Format;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
public final class CalendarTimeUtils {
public static Long getNowTime() {
// 获取当前时间
Calendar cal = Calendar.getInstance();
return cal.getTimeInMillis();
}
public static Long getTodayBeginTime() {
// 获取当日开始时间
Calendar cale = Calendar.getInstance();
cale.set(Calendar.HOUR_OF_DAY, 0);
cale.set(Calendar.MINUTE, 0);
cale.set(Calendar.SECOND, 0);
cale.set(Calendar.MILLISECOND, 0);
// 返回一个long型的整数
return cale.getTimeInMillis();
}
public static Long getThisMonthBeginTime() {
// 获取本月开始时间
Calendar calen = Calendar.getInstance();
calen.set(Calendar.DAY_OF_MONTH, calen.getActualMinimum(Calendar.DAY_OF_MONTH));
calen.set(Calendar.HOUR_OF_DAY, 0);
calen.set(Calendar.MINUTE, 0);
calen.set(Calendar.SECOND, 0);
calen.set(Calendar.MILLISECOND, 0);
// 返回一个long型的整数
return calen.getTimeInMillis();
}
public static Long getThisMonthEndTime() {
// 获取本月结束时间
Calendar calen = Calendar.getInstance();
calen.set(Calendar.MONTH, calen.get(Calendar.MONTH) + 1);
calen.set(Calendar.DAY_OF_MONTH, calen.getActualMinimum(Calendar.DAY_OF_MONTH));
calen.set(Calendar.HOUR_OF_DAY, 0);
calen.set(Calendar.MINUTE, 0);
calen.set(Calendar.SECOND, 0);
calen.set(Calendar.MILLISECOND, 0);
// 返回一个long型的整数
return calen.getTimeInMillis();
}
public static Long getThisYearBeginTime() {
// 获取本年开始时间
Calendar calend = Calendar.getInstance();
calend.get(Calendar.YEAR);
calend.set(Calendar.MONTH, 0);
calend.set(Calendar.DAY_OF_MONTH, calend.getActualMinimum(Calendar.DAY_OF_YEAR));
calend.set(Calendar.HOUR_OF_DAY, 0);
calend.set(Calendar.MINUTE, 0);
calend.set(Calendar.SECOND, 0);
calend.set(Calendar.MILLISECOND, 0);
// 返回一个long型的整数
return calend.getTimeInMillis();
}
public static Long[] getEveryMonthTime(Integer month) {
// 获取每月时间
Long[] time = new Long[13];
for (int i = 0; i < 13; i++) {
Calendar calenda = Calendar.getInstance();
if (null == month) {
calenda.get(Calendar.YEAR);
} else {
calenda.set(Calendar.YEAR, month);
}
calenda.set(Calendar.MONTH, i);
calenda.set(Calendar.DAY_OF_MONTH, calenda.getActualMinimum(Calendar.DAY_OF_YEAR));
calenda.set(Calendar.HOUR_OF_DAY, 0);
calenda.set(Calendar.MINUTE, 0);
calenda.set(Calendar.SECOND, 0);
calenda.set(Calendar.MILLISECOND, 0);
time[i] = calenda.getTimeInMillis();
}
return time;
}
public static Long beginYear(Integer year) {
// 获取年起始
Calendar calenda = Calendar.getInstance();
if (null == year) {
calenda.get(Calendar.YEAR);
} else {
calenda.set(Calendar.YEAR, year);
}
calenda.set(Calendar.MONTH, 0);
calenda.set(Calendar.DAY_OF_MONTH, calenda.getActualMinimum(Calendar.DAY_OF_YEAR));
calenda.set(Calendar.HOUR_OF_DAY, 0);
calenda.set(Calendar.MINUTE, 0);
calenda.set(Calendar.SECOND, 0);
calenda.set(Calendar.MILLISECOND, 0);
return calenda.getTimeInMillis();
}
public static Long afterYear(Integer year) {
// 获取年结束
Calendar calenda = Calendar.getInstance();
if (null == year) {
calenda.set(Calendar.YEAR, calenda.get(Calendar.YEAR) + 1);
} else {
calenda.set(Calendar.YEAR, year + 1);
}
calenda.set(Calendar.MONTH, 0);
calenda.set(Calendar.DAY_OF_MONTH, calenda.getActualMinimum(Calendar.DAY_OF_YEAR));
calenda.set(Calendar.HOUR_OF_DAY, 0);
calenda.set(Calendar.MINUTE, 0);
calenda.set(Calendar.SECOND, 0);
calenda.set(Calendar.MILLISECOND, 0);
return calenda.getTimeInMillis();
}
public static Long getDateTime(Long beginTime) throws ParseException {
if (beginTime == null)
return 0L;
Date date = new Date(beginTime);
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
String dateString = formatter.format(date);
Date newdate = formatter.parse(dateString);
return newdate.getTime();
}
private CalendarTimeUtils() {
}
public static Long certainYearBegin(String str) throws ParseException {
if (null == str)
return getThisMonthBeginTime();
// 某年某月起始时间 yyyy-MM
Format f = new SimpleDateFormat("yyyy-MM");
Date d = (Date) f.parseObject(str);
Calendar calenda = Calendar.getInstance();
calenda.setTime(d);
System.out.println("某年某月起始时间 : " + calenda.getTimeInMillis());
return calenda.getTimeInMillis();
}
public static Long certainYearEnd(String str) throws ParseException {
if (null == str)
return getThisMonthEndTime();
// 某年某月结束时间 yyyy-MM
Format f = new SimpleDateFormat("yyyy-MM");
Date d = (Date) f.parseObject(str);
Calendar calenda = Calendar.getInstance();
calenda.setTime(d);
calenda.set(Calendar.MONTH, calenda.get(Calendar.MONTH) + 1);
System.out.println("某年某月结束时间 : " + calenda.getTimeInMillis());
return calenda.getTimeInMillis();
}
public static Integer getMaxDate(String str) throws ParseException {
Calendar c = Calendar.getInstance();
if (null == str)
return c.getActualMaximum(Calendar.DATE);
// 某年某月最大天数
Format f = new SimpleDateFormat("yyyy-MM");
Date d = (Date) f.parseObject(str);
Calendar calenda = Calendar.getInstance();
calenda.setTime(d);
System.out.println("某年某月最大天数 : " + calenda.getActualMaximum(Calendar.DATE));
return calenda.getActualMaximum(Calendar.DATE);
}
public static Long getDayTime(int year, int month, int day) {
// 获取当日开始时间 year:2018; month:1-12; day : 1-31
Calendar cale = Calendar.getInstance();
cale.set(Calendar.YEAR, year);
cale.set(Calendar.DAY_OF_MONTH, day);
cale.set(Calendar.MONTH, month - 1);
cale.set(Calendar.HOUR_OF_DAY, 0);
cale.set(Calendar.MINUTE, 0);
cale.set(Calendar.SECOND, 0);
cale.set(Calendar.MILLISECOND, 0);
return cale.getTimeInMillis();
}
}