#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)

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS