#author("2019-11-24T15:01:40+09:00","","")
#navi(../)
* 指定した年月の月末の日を取得する・DaysInMonth [#n63bc58b]
C#,VBで指定した年、月で月末の日を取得する方法を紹介します。~
サンプルコード(コンソールアプリケーション)もありますのでご活用ください。~
今回使用するメソッドは、''DateTime.DaysInMonth''になります。
#contents
#htmlinsert(windev_ads_top.html)
* 参考サイト [#a9483356]
-[[Microsoft|.NET : DateTime.DaysInMonth(Int32, Int32) メソッド>https://docs.microsoft.com/ja-jp/dotnet/api/system.datetime.daysinmonth?view=netframework-4.8]]
* DaysInMonthメソッドについて [#yda2afbe]
''DaysInMonth''は引数に指定した年、月の日数を返却します。~
つまり、日数=月末日となるので、月末日を求めることができます。~
もちろん、うるう年も問題なく29日と返却されます。
* C# サンプルコード [#e6ae0082]
C#でDaysInMonthメソッドを利用したサンプルコードになります。
//#ref(Program.cs)
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));
}
}
}
}
}
* Visual Basic サンプルコード [#q999cfdf]
VBでDaysInMonthメソッドを利用したサンプルコードになります。
//#ref(Module1.vb)
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
* サンプルコードの実行結果 [#t11e1413]
上記、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)で月末を取得するサンプルコードの紹介でした。
#htmlinsert(windev_ads_btm.html)