C#,VBで指定した年、月で月末の日を取得する方法を紹介します。
サンプルコード(コンソールアプリケーション)もありますのでご活用ください。
今回使用するメソッドは、DateTime.DaysInMonthになります。
DaysInMonthは引数に指定した年、月の日数を返却します。
つまり、日数=月末日となるので、月末日を求めることができます。
もちろん、うるう年も問題なく29日と返却されます。
C#でDaysInMonthメソッドを利用したサンプルコードになります。
using System;
namespace windev01
{
class Program
{
static void Main(string[] args)
{
int y, m;
for( y = 2019; y <= 2020; y++ )
{
for( m = 1; m <= 12; m++ )
{
Console.WriteLine(y + "/" + m + "/" + DateTime.DaysInMonth(y, m));
}
}
}
}
}
VBでDaysInMonthメソッドを利用したサンプルコードになります。
Module Module1
Sub Main()
Dim y As Integer
Dim m As Integer
For y = 2019 To 2020
For m = 1 To 12
Console.WriteLine(y & "/" & m & "/" & DateTime.DaysInMonth(y, m))
Next
Next
End Sub
End Module
上記、C#,VBのサンプルコードを実行した時の出力になります。
オリンピックイヤーである2020年2月が29日になっているのが確認できますね。
2019/1/31 2019/2/28 2019/3/31 2019/4/30 2019/5/31 2019/6/30 2019/7/31 2019/8/31 2019/9/30 2019/10/31 2019/11/30 2019/12/31 2020/1/31 2020/2/29 2020/3/31 2020/4/30 2020/5/31 2020/6/30 2020/7/31 2020/8/31 2020/9/30 2020/10/31 2020/11/30 2020/12/31
以上、C#, Visual Basic(VB)で月末を取得するサンプルコードの紹介でした。