JavaはCalendarを使用して時間を計算する例示的なコードです。
Javaの実例大全書
/*
* 15日後は何日ですか?
*/
2019-10-29 14:25:59
/*
* 三ヶ月の10日後の水曜日は何日ですか?
*/
2020-01-22 14:25:59
/*
* 今年最大日数を取得
*/
今年の最大日数は365日です。
/*
* 現在は何曜日ですか?
*/
今日は月曜日です
例:
年:2018
月:2
日:12
時:15
ポイント:57
秒:39
時間を設定
2月15日の大晦日の夜のカウントダウンの最後の秒に設定します。2018-02-15 23:59
このようにしてもいいです
Thu Feb 15 23:59 CST 2018
時間計算
add方法:
例えば、大晦日の夜の最後の一秒、add一秒:
Thu Feb 15 23:59 CST 2018
Fri Feb 16 00:00 CST 2018
例えば、1月31日の時、月に一を加えると、どのような結果が出ますか?
Wed Jan 31 08:00 CST 2018
Wed Feb 28 08:00 CST 2018
以上が本文の全部です。皆さんの勉強に役に立つように、私たちを応援してください。
@Test
public void test4(){
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
/*
* 15 ?
*
* add(int field,int n)
* calendar
* ,
*/
Calendar calendar = Calendar.getInstance();
calendar.add(Calendar.DAY_OF_YEAR, 15); // 15
//System.out.println(calendar.getTime());
System.out.println(sdf.format(calendar.getTime()));
/*
* ?
*/
Calendar cal = Calendar.getInstance();
cal.add(Calendar.MONTH, 3); // 3
cal.add(Calendar.DAY_OF_YEAR, 10); // 10
// ,
cal.set(Calendar.DAY_OF_WEEK, 4); //1 , 4
//System.out.println(cal.getTime());
System.out.println(sdf.format(cal.getTime()));
/*
*
*
*/
Calendar cal1 = Calendar.getInstance();
int days = cal1.getActualMaximum(Calendar.DAY_OF_YEAR);
System.out.println(" :"+days+" ");
/*
*
*
*/
Calendar cal2 = Calendar.getInstance();
int w = cal2.get(Calendar.DAY_OF_WEEK);
System.out.println(" :"+(w==1?7:w-1));
}
結果:/*
* 15日後は何日ですか?
*/
2019-10-29 14:25:59
/*
* 三ヶ月の10日後の水曜日は何日ですか?
*/
2020-01-22 14:25:59
/*
* 今年最大日数を取得
*/
今年の最大日数は365日です。
/*
* 現在は何曜日ですか?
*/
今日は月曜日です
例:
/****
* , 。
* @param date (2017-04-13)
* @return 2017-05-13
* @throws ParseException
*/
private String subMonth(String date) throws ParseException {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Date dt = sdf.parse(date);
Calendar rightNow = Calendar.getInstance();
rightNow.setTime(dt);
rightNow.add(Calendar.MONTH, 1);
Date dt1 = rightNow.getTime();
String reStr = sdf.format(dt1);
return reStr;
取得時間
//
Calendar cal = Calendar.getInstance();
// 6 , 0 , +1
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(Calendar.HOUR_OF_DAY));
System.out.println(" :" + cal.get(Calendar.MINUTE));
System.out.println(" :" + cal.get(Calendar.SECOND));
今日は2018年2月12日で、運行結果:年:2018
月:2
日:12
時:15
ポイント:57
秒:39
時間を設定
2月15日の大晦日の夜のカウントダウンの最後の秒に設定します。2018-02-15 23:59
このようにしてもいいです
Calendar cal = Calendar.getInstance();
// , , 0 -1
// cal.set(year, month, date, hourOfDay, minute, second);
cal.set(2018, 1, 15, 23, 59, 59);
あるいは、単一のフィールドを一つずつ設定しても良いです。
// 6 , 0 -1
cal.set(Calendar.YEAR, 2018);
cal.set(Calendar.MONTH, Calendar.FEBRUARY);
cal.set(Calendar.DAY_OF_MONTH, 15);
cal.set(Calendar.HOUR_OF_DAY, 23);
cal.set(Calendar.MINUTE, 59);
cal.set(Calendar.SECOND, 59);
System.out.println(cal.getTime());
印刷時間の結果は次の通りです。Thu Feb 15 23:59 CST 2018
時間計算
add方法:
例えば、大晦日の夜の最後の一秒、add一秒:
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());
印刷時間の結果は以下の通りです。日付は自動的に次の日に入ります。Thu Feb 15 23:59 CST 2018
Fri Feb 16 00:00 CST 2018
例えば、1月31日の時、月に一を加えると、どのような結果が出ますか?
Calendar cal = Calendar.getInstance();
cal.set(2018, 1, 31, 8, 0, 0);
System.out.println(cal.getTime());
cal.add(Calendar.MONTH, 1);
System.out.println(cal.getTime());
実行結果:Wed Jan 31 08:00 CST 2018
Wed Feb 28 08:00 CST 2018
以上が本文の全部です。皆さんの勉強に役に立つように、私たちを応援してください。