Javaプログラミング練習問題(日付と時刻)

java 日付と時刻(練習問題)

練習問題

自分の勉強用・忘備録として練習問題を作成しています。

No.01

実行結果の通りになるように出力してください。

  1. 現在の日時を持つ、Dateクラスのインスタンスを生成
  2. 取得した時刻を出力

提供コード

Java
import java.util.Date;

public class Main {

    public static void main(String[] args) {

        // ①
        // ②
    }
}

実行結果

Java
Fri May 03 11:59:42 JST 2024
// コンパイルした時間によって表示日時が変わります

Java
import java.util.Date;

public class Main {

    public static void main(String[] args) {

        Date now = new Date();
        System.out.println(now);
    }
}

Date型の変数であれば、中身には「日時情報」が入っており、出力すると人間が理解しやすい日付や時刻が表示される。

No.2

実行結果の通りになるように出力してください。

  1. 現在の日時を持つ、Dateクラスのインスタンスを生成
  2. 取得した日時情報を、long値で出力する

提供コード

Java
import java.util.Date;

public class Main {

     public static void main(String[] args) {
        
        // ①
        System.out.println(); // ②
     }
}

実行結果

Java
1714707830297

// 出力したタイミングによってlong値は異なります

Java
import java.util.Date;


public class Main {

     public static void main(String[] args) {
        
        // 現在の日時を持つ、Dateインスタンスを生成
        Date now = new Date();
        
        // 変数nowに入った日時情報(long値)を、getTime()メソッドで取得し、出力させる
        System.out.println(now.getTime());

     }
}

Dateインスタンスの内部に格納されているlong値(機械が理解しやすい形式)を取り出すためにはgetTime()を使う。

No.3

実行結果の通りになるように出力してください。

  1. 現在の日時を持つ、Dateクラスのインスタンスを生成
  2. Calendarクラスのインスタンスを生成する
  3. Date型の変数を、Calendar型に○○メソッドを用いて代入する
  4. 出力する

提供コード

Java
import java.util.Calendar;
import java.util.Date;

public class Main {

     public static void main(String[] args) {
        
        // ①Dateクラスのインスタンスを生成
        // ②Calendarクラスのインスタンスを生成

        // ③Date型の変数を、Calendar型に変換
        System.out.println(); // ④
     }
}

実行結果

Java
Fri May 03 14:10:24 JST 2024

// 出力するタイミングによって日時情報は変わります

Java
import java.util.Calendar;
import java.util.Date;

public class Main {

     public static void main(String[] args) {
        
        Date now = new Date();
        // Calendarクラスのインスタンスを生成(Newは不要)
        Calendar c = Calendar.getInstance();

        // setTime()メソッドを使って、型を変換
        c.setTime(now);
        // getTime()メソッドで取得し、出力させる
        System.out.println(c.getTime());
     }
}

No.4

実行結果の通りになるように出力してください。

  1.  Calendarクラスのインスタンスを生成する
  2. yearを取得する
  3. monthを取得する
  4. dayを取得する
  5. hourを取得する
  6. minuteを取得する
  7. secondを取得する

提供コード

Java
import java.util.Calendar;

public class Main {

     public static void main(String[] args) {
        
        // ① Calendarクラスをインスタンス化

        int year =
        int month =
        int day =
        int hour =
        int minute =
        int second =

        System.out.println("今年は" + year + "年です。");
        System.out.println("今月は" + month + "月です。");
        System.out.println("今日は" + day + "日です。");
        System.out.println("今は" + hour + "時です。");
        System.out.println("今は" + minute + "分です。");
        System.out.println("今は" + second + "秒です。");
     }
}

実行結果

Java
今年は2024年です。
今月は5月です。
今日は3日です。
今は3時です。
今は6分です。
今は30秒です。

// 出力するタイミングによって日時情報は変わります

 

Java
import java.util.Calendar;

public class Main {

     public static void main(String[] args) {
        
        Calendar c = Calendar.getInstance();

        int year = c.get(Calendar.YEAR);
        int month = c.get(Calendar.MONTH) + 1;
        int day = c.get(Calendar.DAY_OF_MONTH);
        int hour = c.get(Calendar.HOUR);
        int minute = c.get(Calendar.MINUTE);
        int second = c.get(Calendar.SECOND);

        System.out.println("今年は" + year + "年です。");
        System.out.println("今月は" + month + "月です。");
        System.out.println("今日は" + day + "日です。");
        System.out.println("今は" + hour + "時です。");
        System.out.println("今は" + minute + "分です。");
        System.out.println("今は" + second + "秒です。");
     }
}

monthは、0~11までの数字に、1月〜12月が割り当てられているため、そのまま表示させると、-1ヶ月のずれが生じます。

そのため+1をする必要があります。

No.5

実行結果の通りになるように出力してください。

  1.  Calendarクラスのインスタンスを生成する
  2. カレンダー型の変数の日付を、4月に指定する
  3. セットされた日付情報を、int型の変数に代入する
  4. 出力する

提供コード

Java
import java.util.Calendar;

public class Main {

     public static void main(String[] args) {
        
        // ① Calendarクラスをインスタンス化

        // ② カレンダー型の変数に、Monthを設定する
        // ③ セットした月の情報を取得する
        
        System.out.println("ライブは" ++ "月に開催します。");
     }
}

実行結果

Java
ライブは4月に開催します。

Java
import java.util.Calendar;

public class Main {

     public static void main(String[] args) {
        
        Calendar c = Calendar.getInstance();

        c.set(Calendar.MONTH, 4);
        int month = c.get(Calendar.MONTH);
        
        System.out.println("ライブは" + month + "月に開催します。");
     }
}

No.6

実行結果の通りになるように出力してください。

  1. SimpleDateFormatクラスをインスタンス化する
    • 書式文字列:yyyy/MM/dd HH:mm:ss
  2. String型からDate型に変換する
    • 日時:2024/05/03 05:30:20
  3. 出力する

提供コード

Java
import java.util.Date;
import java.text.SimpleDateFormat;

public class Main {

     public static void main(String[] args) throws Exception {
        
        // ①
        // ②
        System.out.println(③);

     }
}

実行結果

Java
Fri May 03 05:30:20 JST 2024

Java
import java.util.Date;
import java.text.SimpleDateFormat;

public class Main {

     public static void main(String[] args) throws Exception {
        
        // SimpleDateFormatをインスタンス化。
        SimpleDateFormat f = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
        
        // parseメソッドを使って、String型からDate型に変換する
        Date d = f.parse("2024/05/03 05:30:20");
        System.out.println(d);

     }
}

No.7

実行結果の通りになるように出力してください。

  1. SimpleDateFormatクラスをインスタンス化する
    • 書式文字列:yyyy/MM/dd HH:mm:ss
  2. Dateクラスをインスタンス化
  3. Date型の変数を、指定の書式に変換する
  4. 出力する

提供コード

Java
import java.util.Date;
import java.text.SimpleDateFormat;

public class Main_0 {

     public static void main(String[] args) throws Exception {
        
        // ①
        // ②
        // ③
        System.out.println("現在は" ++ "です"); 
     }
}

実行結果

Java
現在は2024/05/03 18:25:52です

// 出力するタイミングによって日時情報は変わります

Java
import java.util.Date;
import java.text.SimpleDateFormat;

public class Main_0 {

     public static void main(String[] args) throws Exception {
        
        SimpleDateFormat f = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
        Date now = new Date();
        String s = f.format(now);
        System.out.println("現在は" + s + "です"); 
     }
}

No.8

実行結果の通りになるように出力してください。

提供コード

実行結果

No.9

実行結果の通りになるように出力してください。

提供コード

実行結果

No.10

実行結果の通りになるように出力してください。

提供コード

実行結果

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です