1. Calendar Calendarオブジェクトの作成方法
Calendarは抽象クラスであり、直接インスタンス化することはできません。したがって、CalendarはCalendarオブジェクトを取得するメソッドgetInstanceを提供し、取得したCalendarは現在の時刻で初期化されます。
Calendar cal=Calendar.getInstance();
2. Canendarの一般的な方法:
//デフォルトのタイムゾーンを使用して、現在のカレンダー時間を取得できます
Canendar cal=Calendar.getInstance();
//获取年
System.out.println("年" + cal.get(Calendar.YEAR));
//获取月
System.out.println("月" + cal.get(Calendar.MONTH) + 1));
//获取日
System.out.println("日" + cal.get(Calendar.DAY_OF_MONTH));
//获取时
System.out.println("时" + cal.get(Canendar.HOUR_OF_DAY));
//获取分
System.out.println("分"+ cal.get(Calendar.MINUTE));
//获取秒
System.out.println("秒"+ cal.get(Calendar.SECOND));
設定時間:
注:月の添え字は0から始まり、設定する際にも注意が必要です。例:2020年の大晦日のカウントダウンの最後の1秒を設定します。
Calendar cal=Calendar.getInstance();
//可以一次性设置年月日时分秒 由于月份下标从0开始 赋值月份要 -1
//cal.set(year,month,date,hourOfDay,minute,second);
cal.set(2020,1,15,23,59,59)
個別に割り当てることもできます。
cal.set(Calendar.YEAR,2020);
//由于月份下标从0开始 所以赋值月份要-1
cal.set(Calendar.MONTH,1);
cal.set(Calendar.DAY_OF_MONTH,15);
cal.set(Calendar.HOUR_OF_DAY,23);
cal.set(Calendar.SECOND,59);
cal.set(Calendar.SECOND,59);
System.out.println(cal.getTime());
3つの一般的に使用されるaddメソッド
たとえば、59秒で、1秒を追加します
Calendar cal=Calendar.getInstance();
System.out.println(cal.getTime);
cal.set(2018,1,15,23,59,59);
cal.add(Calendar.SECOND,1);
System.out.println(cal.getTime());
このとき、校正時間は1秒長くなります
実用例:
事業内容:1事業は折れ線グラフです。横軸は現在から12ヶ月先です。過去1年間の各月について、ここでは加算を使用しています。
public static List<String> getCurrentMonth(){
//设置日期的格式化
SimpleDateFormat timeFormat=new SimpleDateFormat("yyyy-MM");
Calendar calendar=Calendar.getInstance();
List<String> stringList=new ArrayList<>();
stringList.add(timeFormat.format(calendar.getTime));
for( int i=0;i<number-1;i++){
//因为我是要往前推一个月所以-1,如果要获取下一个月直接 写 1 即可
//每次calendar 的值都会被覆盖
calendar.add(Calendar.MONTH,-1);
stringList.add(timeFormat.format(calendar.getTime));
}
}