一般情况下格式如下
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
至于为什么MM和HH需要大写呢
MM大写为了和秒(mm)区分
HH大写表示24小时制,小写表示12小时制
有时候YYYY的写法,而YYYY表示的是周年(Week Year),
对于2020-12-30,这天是周三,YYYY格式化获取的值是2021, yyyy格式化获取的值是2020,示例代码如下:
public class CalendarTest {
public static void main(String[] args) {
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
//近24小时前的时间
Calendar calendar = Calendar.getInstance();
calendar.add(Calendar.DAY_OF_MONTH,-1);
System.out.println(simpleDateFormat.format(calendar.getTime()));
//昨天
calendar.set(Calendar.HOUR_OF_DAY,0);
calendar.set(Calendar.SECOND,0);
calendar.set(Calendar.MINUTE,0);
System.out.println(simpleDateFormat.format(calendar.getTime()));
calendar.add(Calendar.DAY_OF_MONTH,1);
System.out.println(simpleDateFormat.format(calendar.getTime()));
//最近7天
calendar.add(Calendar.DAY_OF_MONTH,-7);
System.out.println(simpleDateFormat.format(calendar.getTime()));
//最近30天
calendar.add(Calendar.DAY_OF_MONTH,-30+7);;
System.out.println(simpleDateFormat.format(calendar.getTime()));
//YYYY和yyyy区别
calendar.set(2020,10,30);
System.out.println(new SimpleDateFormat("yyyy").format(calendar.getTime()));
System.out.println(new SimpleDateFormat("YYYY").format(calendar.getTime()));
calendar.set(2020,11,30);
System.out.println(new SimpleDateFormat("yyyy").format(calendar.getTime()));
System.out.println(new SimpleDateFormat("YYYY").format(calendar.getTime()));
}
}
结果如下: