public void test() {
Calendar calendar =Calendar.getInstance();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss E");
SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy/MM/dd E");
SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy/MM/dd E HH:mm:ss");
SimpleDateFormat sdf3 = new SimpleDateFormat("E");
SimpleDateFormat sdf4 = new SimpleDateFormat("yyyy/MM/dd");
SimpleDateFormat sdf5 = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
try {
// 传入任意日期参数
calendar.setTime(sdf5.parse("2022/12/18 20:08:33"));
} catch (ParseException e) {
e.printStackTrace();
}
String format = sdf.format(calendar.getTime());
String format1 = sdf1.format(calendar.getTime());
String format2 = sdf2.format(calendar.getTime());
String format3 = sdf3.format(calendar.getTime());
// 获取当前日期年份的任意日期
// 1: 当年第一天 ; 2:当年第二天; 0:去年最后一天; -1:去年倒数第二天;
Calendar calendar1 =Calendar.getInstance();
calendar1.set(Calendar.DAY_OF_YEAR,1);
Calendar calendar2 =Calendar.getInstance();
//获取任意年份 +1:明年年份; 和set(Calendar.DAY_OF_YEAR,0)搭配可获得当年最后一天
calendar2.add(Calendar.YEAR,+1);
calendar2.set(Calendar.DAY_OF_YEAR,0);
Calendar calendar3 =Calendar.getInstance();
//获取任意月份 +1:下个月;依次类推
calendar3.add(Calendar.MONTH,+1);
Calendar calendar4 =Calendar.getInstance();
//获取日期 +0:今天;依次类推
calendar4.add(Calendar.DATE,+0);
System.out.println("当年第一天:"+sdf4.format(calendar1.getTime()));
System.out.println("当年最后一天:"+sdf4.format(calendar2.getTime()));
System.out.println("当天:"+sdf5.format(calendar4.getTime()));
System.out.println("一个月后:"+sdf4.format(calendar3.getTime()));
// calendar4.getTime()获取当前日期;
// calendar4.getTime().getTime() 获取当前日期的毫秒数;
// 1000: 1秒;60*1000:一分钟;60*60*1000:一个小时;3*60*60*1000:三个小时;
System.out.println("一个小时后:"+sdf5.format(calendar4.getTime().getTime()+60*60*1000));
System.out.println(format+"\n"+format1+"\n"+format2+"\n"+format3);
}
输出结果:
当年第一天:2022/01/01
当年最后一天:2022/12/31
当天:2022/12/17 17:41:28
一个月后:2023/01/17
一个小时后:2022/12/17 18:41:28
2022/12/18 20:08:33 週日
2022/12/18 週日
2022/12/18 週日 20:08:33
週日