近期项目中用到时间做查询,和记录,我大部分都是在用Calendar日历类解决,现在整理一下,直接上代码:
public static void main(String[] args) {
// 获取当前的日历时间
Calendar c = Calendar.getInstance();
// 获取月
int year = c.get(Calendar.YEAR);
// 获取月
int month = c.get(Calendar.MONTH);
// 获取日
int date = c.get(Calendar.DATE);
System.out.println(year + "年" + (month + 1) + "月" + date + "日");
// // 三年前的今天
// c.add(Calendar.YEAR, -3);
// // 获取月
// year = c.get(Calendar.YEAR);
// // 获取月
// month = c.get(Calendar.MONTH);
// // 获取日
// date = c.get(Calendar.DATE);
// System.out.println(year + "年" + (month + 1) + "月" + date + "日");
// 5年后的10天前
c.add(Calendar.YEAR, 5);
c.add(Calendar.DATE, -10);
// 获取月
year = c.get(Calendar.YEAR);
// 获取月
month = c.get(Calendar.MONTH);
// 获取日
date = c.get(Calendar.DATE);
System.out.println(year + "年" + (month + 1) + "月" + date + "日");// 2021年11月30日
System.out.println("-----------");
c.set(2011, 11, 11);
// 获取月
year = c.get(Calendar.YEAR);
// 获取月
month = c.get(Calendar.MONTH);
// 获取日
date = c.get(Calendar.DATE);
System.out.println(year + "年" + (month + 1) + "月" + date + "日");
}
获取当前月第一天
/**
* 本月初
*/
public static String monthFirstDateTime(){
/**获取当前的日历时间*/
Calendar cale = Calendar.getInstance();
/**0代表当前月*/`在这里插入代码片`
cale.add(Calendar.MONTH, 0);
/**月份第一天*/
cale.set(Calendar.DAY_OF_MONTH, 1);
String dateTime = new SimpleDateFormat("yyyy-MM-dd 00:00:00").format(cale.getTime());
System.out.println(dateTime);
}
#执行结果:
2019-09-01 00:00:00
获取当前月最后一天
/**
* 本月末
*/
public static String monthLastDateTime(){
Calendar cale = Calendar.getInstance();
cale.add(Calendar.MONTH, 1);
cale.set(Calendar.DAY_OF_MONTH, 0);
String dateTime = new SimpleDateFormat("yyyy-MM-dd 23:59:59").format(cale.getTime());
System.out.println(dateTime);
}
#执行结果:
2019-09-30 23:59:59
}
三年前的今天
public void dateTime() {
Calendar cale = Calendar.getInstance();
// 三年前的今天
cale.add(Calendar.YEAR, -3);
String dateTime = new SimpleDateFormat("yyyy年MM月dd日 HH时mm分ss秒").format(cale.getTime());
System.out.println(dateTime);
}
执行结果:
2016年10月23日 12时01分19秒
year在3年前,day在当前日期的前一天
public void dateTime() {
Calendar cale = Calendar.getInstance();
// 三年前的今天
cale.add(Calendar.YEAR, -3);
cale.add(Calendar.DATE, -1);
String dateTime = new SimpleDateFormat("yyyy年MM月dd日 HH时mm分ss秒").format(cale.getTime());
System.out.println(dateTime);
}
执行结果:
2016年10月22日 12时04分53秒
获取昨日开始时间
/**
* 获取昨天日期 格式:2019-08-21 00:00:00
*/
public static String startYstDateTime(){
Calendar cal=Calendar.getInstance();
cal.add(Calendar.DATE,-1);
return new SimpleDateFormat("yyyy-MM-dd 00:00:00").format(cal.getTime());
}
获取昨日结束时间
/**
* 获取昨天日期 格式:2019-08-21 23:59:59
*/
public static String startYstDateTime(){
Calendar cal=Calendar.getInstance();
cal.add(Calendar.DATE,-1);
return new SimpleDateFormat("yyyy-MM-dd 23:59:59").format(cal.getTime());
}
如有问题,请直接留言反馈,
对您有帮助,请支持下