#author("2019-11-24T15:01:18+09:00","","") #author("2019-11-24T15:01:40+09:00","","") #navi(../) * 指定した年月の月末の日を取得する・DaysInMonth [#n63bc58b] C#,VBで指定した年、月で月末の日を取得する方法を紹介します。~ サンプルコード(コンソールアプリケーション)もありますのでご活用ください。~ 今回使用するメソッドは、''DateTime.DaysInMonth''になります。 #contents #htmlinsert(windev-top.html) * 参考サイト [#a9483356] -[[Microsoft|.NET : DateTime.DaysInMonth(Int32, Int32) メソッド>https://docs.microsoft.com/ja-jp/dotnet/api/system.datetime.daysinmonth?view=netframework-4.8]] #htmlinsert(windev-top.html) * 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-btm.html)