获取当前日期
Calendar calendar=Calendar.getInstance();
System.out.println(calendar.get(Calendar.YEAR));
System.out.println(calendar.get(Calendar.MONTH)+1);
System.out.println("现在是:"+calendar.get(Calendar.YEAR)+"年"
+(calendar.get(Calendar.MONTH)+1)+"年"
+calendar.get(Calendar.DAY_OF_MONTH)+"日"
+calendar.get(Calendar.HOUR_OF_DAY)+"时"
+calendar.get(Calendar.MINUTE)+"分"
+calendar.get(Calendar.SECOND)+"秒");
}
当前日期从系统默认的1900年1月1日开始计算多少天后的日期
Calendar car = Calendar.getInstance();
car.set(Calendar.YEAR, 1900);
car.set(Calendar.MONTH, 1);
car.set(Calendar.DAY_OF_YEAR, 1);
car.add(Calendar.DAY_OF_YEAR, Integer.valueOf(StrVal));
Date d = car.getTime();
value = DateFormatUtils.format(d, "yyyy-MM-dd");
一年前的今天
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");
SimpleDateFormat df1 = new SimpleDateFormat("yyyyMMdd");
java.util.Date timeNow;
java.util.Date timeNow1;
String qn = null;
try {
timeNow = df1.parse(month);
String date1 = df.format(timeNow);
timeNow1 = df.parse(date1);
Calendar calendar = Calendar.getInstance();
calendar.setTime(timeNow1);
calendar.add(Calendar.YEAR, -1); //计算一年前的日期
qn = df.format(calendar.getTime()); //输出格式为 yyyy-MM-dd的日期} catch (ParseException e) {// TODO Auto-generated catch block e.printStackTrace(); }
获取指定日期
@Service
public class IndexService {
public List<IBean> getGztzd(String type) {
String date = getDate(type);
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String time = format.format(Calendar.getInstance().getTime());
private String getDate(String type) {// 处理日期
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
Calendar c = Calendar.getInstance();
String date = "";
if (type.equals("1")) {// 上个星期的日期
/* c.setTime(new Date());
c.add(Calendar.DATE, -7);*/
c.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY);
c.set(Calendar.HOUR_OF_DAY, 0);
c.set(Calendar.MINUTE, 0);
c.set(Calendar.SECOND, 0);
Date day = c.getTime();
date = format.format(day);
}
if (type.equals("2")) {// 上个月的日期 只考虑当年 不包含从 今年的1月份到去年的12月
c.setTime(new Date());
c.add(Calendar.MONTH, 0);
c.set(Calendar.DAY_OF_MONTH, 1);
date = format.format(c.getTime());
}
if (type.equals("3")) {// 上一年的日期 只考虑当年
c.add(Calendar.YEAR, 0);
c.set(Calendar.DAY_OF_YEAR, 1);
date = format.format(c.getTime());
}
return date;
}
private String ztrq(String time){//昨天的日期
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
Calendar c = Calendar.getInstance();
String date = "";
c.setTime(new Date());
c.add(Calendar.DATE,-1);
date = format.format(c.getTime());
return date;
}
private String ylrq(String time){//上个月的日期 考虑跨年 今年的1月份计算去年12月份 一个月前的日期
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
Calendar c = Calendar.getInstance();
String date = "";
c.setTime(new Date());
c.add(Calendar.MONTH, 0);
c.set(Calendar.DAY_OF_MONTH, 1);
date = format.format(c.getTime());
return date;
}
private String nlrq(String time){//去年的日期 同上
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
Calendar c = Calendar.getInstance();
String date = "";
c.setTime(new Date());
c.add(Calendar.YEAR, 0);
c.set(Calendar.DAY_OF_YEAR, 1);
date = format.format(c.getTime());
return date;
}
获取季度与当年当月开始的时间
//获取当前季度的开始时间
public static Date getCurrentQuarterStartTime() {
Calendar c = Calendar.getInstance();
int currentMonth = c.get(Calendar.MONTH) + 1;
SimpleDateFormat longSdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
SimpleDateFormat shortSdf = new SimpleDateFormat("yyyy-MM-dd");
Date now = null;
try {
if (currentMonth >= 1 && currentMonth <= 3)
c.set(Calendar.MONTH, 0);
else if (currentMonth >= 4 && currentMonth <= 6)
c.set(Calendar.MONTH, 3);
else if (currentMonth >= 7 && currentMonth <= 9)
c.set(Calendar.MONTH, 6);
else if (currentMonth >= 10 && currentMonth <= 12)
c.set(Calendar.MONTH, 9);
c.set(Calendar.DATE, 1);
String nowe = null;
nowe = shortSdf.format(c.getTime());
now = shortSdf.parse(nowe);
} catch (Exception e) {
e.printStackTrace();
}
return now;
}
//当月的开始时间
public static Date getLastMonthStartTime() {
Calendar cal = Calendar.getInstance();
cal.add(Calendar.MONTH, 0);
cal.set(Calendar.DAY_OF_MONTH,1);//设置为1号,当前日期既为本月第一天
cal.set(Calendar.HOUR_OF_DAY, 0);
cal.set(Calendar.MINUTE, 0);
cal.set(Calendar.SECOND, 0);
Date date = cal.getTime();
return date;
}
//获取当年的开始时间
public static Date getCurrentYearStartTime() {
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Calendar c = Calendar.getInstance();
Date now = null;
try {
c.set(Calendar.MONTH, 0);
c.set(Calendar.DATE, 1);
c.set(Calendar.HOUR_OF_DAY, 0);
c.set(Calendar.MINUTE, 0);
c.set(Calendar.SECOND, 0);
now = format.parse(format.format(c.getTime()));
} catch (Exception e) {
e.printStackTrace();
}
return now;
}
java获取上个月的最后一天
String lastDay = lastMonthDay();
private String lastMonthDay(){
/* Calendar cal = Calendar.getInstance();
//下面可以设置月份,注:月份设置要减1,所以设置1月就是1-1,设置2月就是2-1,如此类推
cal.set(Calendar.MONTH, 1-1);
//调到上个月
cal.add(Calendar.MONTH, -1);
//得到一个月最最后一天日期(31/30/29/28)
int MaxDay=cal.getActualMaximum(Calendar.DAY_OF_MONTH);
//按你的要求设置时间
cal.set( cal.get(Calendar.YEAR), cal.get(Calendar.MONTH), MaxDay, 23, 59, 59);
//按格式输出
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
String date = "";
date = sdf.format(cal.getTime());*/
Calendar c = Calendar.getInstance();
c.add(Calendar.MONTH, -1);
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM");
String time = format.format(c.getTime());
//得到一个月最后一天日期(31/30/29/28)
int MaxDay=c.getActualMaximum(Calendar.DAY_OF_MONTH);
//按你的要求设置时间
c.set( c.get(Calendar.YEAR), c.get(Calendar.MONTH), MaxDay, 23, 59, 59);
//按格式输出
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
String date = sdf.format(c.getTime()); //上月最后一天
return date;
}
}