C#で2023年のカレンダーを毎週1行に出力します。
C#で書かれた以下のコードは、2023年のカレンダーを出力し、1週間ごとに1行表示することができます。
using System;
class Program
{
static void Main(string[] args)
{
// 设置要输出的年份
int year = 2023;
// 获取指定年份的第一天
DateTime firstDay = new DateTime(year, 1, 1);
// 获取指定年份的最后一天
DateTime lastDay = new DateTime(year, 12, 31);
// 当前日期,初始为第一天
DateTime currentDate = firstDay;
// 输出日历
Console.WriteLine($"Calendar for {year}");
while (currentDate <= lastDay)
{
// 输出当前日期所在周的一行
for (int i = 0; i < 7; i++)
{
Console.Write(currentDate.Day.ToString().PadLeft(2) + " ");
// 将日期增加一天
currentDate = currentDate.AddDays(1);
// 判断是否已经超过了指定年份的最后一天
if (currentDate > lastDay)
break;
}
Console.WriteLine();
}
Console.ReadKey();
}
}
このコードは、まず出力する年を2023年に設定し、DateTimeクラスを使用して指定された年の最初と最後の日を取得します。その後、カレンダーを出力するために、whileループを使用して、ループ内では内部にforループを使用して各週の1行を出力し、現在の日付が指定された年の最後の日を超えているかどうかに基づいてループを終了するかどうかを決定します。出力される日付はPadLeftメソッドを使用して整列され、2桁の日付が正しく表示されるようにします。最後に、Console.ReadKeyメソッドを使用して、ユーザーが任意のキーを押すのを待って、プログラムを終了させます。