【課題1-03】日付時刻に関連する操作
プロジェクトタイプ | C#コンソールアプリ※ |
---|---|
プロジェクト名 | Prac_1_03 |
ソリューション名 | PET1 |
ターゲットフレームワーク | .NET 6.0 (長期的なサポート) |
最上位レベルのステートメントを使用しない | 使用しない(チェックオン) |
※ 「コンソールアプリ(.NET Framework)」ではないので注意せよ!
_のテンプレートでは,あらかじめDateTime
型の変数が二つ宣言されている.変数名はegg
,ham
である.
この二つのDateTime
型の変数の値に基づいて,以下のように場合分けして表示するプログラムを作成せよ.
- 変数
egg
がham
よりも過去の日時である場合:- 「
egg
は
ham
の
期間
分前です
」と表示する.
- 「
- 変数
egg
がham
よりも未来の日時である場合:- 「
egg
は
ham
の
期間
分後です
」と表示する.
- 「
- 変数
egg
,ham
が同じ日時の場合:- 「
egg
は
ham
と同じ日時です
」と表示する.
- 「
出力フォーマットの詳細は以下の_を参照せよ.
変数egg
がham
よりも過去の日時である場合:
egg
はham
の期間
分前です
変数egg
がham
よりも未来の日時である場合:
egg
はham
の期間
分後です
変数egg
,ham
が同じ日時の場合:
egg
はham
と同じ日時です
- 凡例
egg
- 変数
egg
のその時点での内容.必ず変数egg
の内容がここに表示されるようにすること.決め打ちにしてはならない. - 「
年4桁
-
月2桁
-
日2桁
時2桁(24時間制)
:
分2桁
」のフォーマットで表示する(日付と時刻の間に半角スペースがひとつ入るので注意せよ).
- 変数
ham
- 変数
ham
のその時点での内容.必ず変数ham
の内容がここに表示されるようにすること.決め打ちにしてはならない. - 「
年4桁
-
月2桁
-
日2桁
時2桁(24時間制)
:
分2桁
」のフォーマットで表示する(日付と時刻の間に半角スペースがひとつ入るので注意せよ).
- 変数
は
- 文言."は"
の
- 文言."の"
期間
- 二つの日時の差(正の数).分で表示する.
分前です
- 文言."分前です"
分後です
- 文言."分後です"
と同じ日時です
- 文言."と同じ日時です"
なお,仮に変数の内容が変更されたとしても正しく動作するようにすること.
プログラムの概形は_のようにすること(必ず以下をコピーしProgram.cs
全体を上書きすること).
|
|
正しく実装できた場合,実行結果は_のようになる。
2023-09-01 21:24は2023-09-02 01:07の223分前です
他の日時の組み合わせを試すには
_のテンプレートコードでは,三つのケース(egg
がham
より前,後,同値)のうち一つしか試すことはできない.
テンプレートコードで 【★】 を付けた行を書き換えれば他の二つのケースの動作を試すことができる(提出時は_の内容に戻しておくこと).
変数egg
がham
よりも過去の日時である場合:
これがテンプレートコードのデフォルトの記述内容である.【★】の行を「static Random sRandom = new Random(162);
」に書き換えると出力結果は_のようになる.
2023-09-01 21:24は2023-09-02 01:07の223分前です
変数egg
がham
よりも未来の日時である場合:
【★】の行を「static Random sRandom = new Random(972);
」に書き換えると出力結果は_のようになる.
2023-09-02 00:15は2023-09-01 23:20の55分後です
変数egg
,ham
が同じ日時の場合:
【★】の行を「static Random sRandom = new Random(1301);
」に書き換えると出力結果は_のようになる.
2023-09-02 06:58は2023-09-02 06:58と同じ日時です
他の日時の組み合わせを試すには : 閉じる
ヒント
DateTime
型は数値型と同様に<
や>
などの比較演算子を用いて比較することができる.DateTime
型同士の引き算を行うことによって二つの日時の間の期間を計算することができる.