Last updated on 2022年8月9日
業務の自動化をしていると月の最終日を使いたいときってありませんか 。
社内業務では月末の処理や月初の処理で利用する機会も多いのではないかと思います。
本記事では先月の最終日の取得方法について(一番シンプルな手段を)紹介したいと思います。
ちょっとした計算が必要になりますので、身構えておいてくださいw
月の最終日の取得には -1日 を計算する
月の最終日を取得する方法はいくつかありますが、翌月の1日から-1を計算することで求める方法が一番簡単です。
手順は次のようになります。
- 月の1日を取得する
- 日付の引き算(-1)を行う
月の1日を取得する
はじめに月の1日を取得する必要があります。
代入処理を用いて日付を取得していきますが、あらかじめ変数を作成しておきます。
次の例では「日付」という変数を定義しています。
型を DateTime型 にする点に気をつけてください。
代入の右に下記の式、左に DateTime 型 の変数を指定します。
//代入の右の枠に下記の式を記入
new DateTime(Now.Year, Now.Month, 1)
これで、DateTime 型での実行月(今月)の最初の日付を取得することができます。
翌月の最初の日付を取得する場合は次のようにしてあげれば取得することができます。
//代入の右の枠に下記の式を記入
new DateTime(Now.Year, Now.Month +1, 1)
日付の引き算を行う
DateTime 型の状態であれば、日付の計算を行う事ができます。
今回はサンプルとしてメッセージボックスで表示してみます。
先程定義した変数にピリオドをうつと、利用可能なtメソッドの一覧が表示されます。
その中に AddDay という文字があると思いますが、それが日付の計算で利用するメソッドです。
見つけたら、メッセージボックスに次のように記入してみてください。
//メッセージボックス下記を記入
変数.AddDays(-1).ToString("yyyyMMdd")
後ろの ToString(“yyyyMMdd”) は、わかりやすい表示を行うために文字列型に変形するため利用しています。
AddDay の他にも次のようなメソッドを指定することで、違った日付の計算を行うことができます
AddYears | 「年」を操作 |
AddMonths | 「月」を操作 |
AddDays | 「日」を操作 |
AddHours | 「時間」を操作 |
AddMinutes | 「分」を操作 |
AddSeconds | 「秒」を操作 |
AddMilliseconds | 「ミリ秒」を操作 |
確認のために実行してみましょう。
ちなみにですが、これを書いているタイミンでは2020年の4月となります。
しっかり先月の最終日が表示されましたね。
※ 2020年の4月はコロナウイルスのため緊急事態宣言発令中でした(備忘録)
最後に
というわけで、今回は先月の最終日の取得方法およびその関連メソッドについて少し紹介となりました。日付を扱う際に、DateTime型という変数の扱いおよびVB.Netメソッドの活用が必要となるため少しハードルが高いです。「まだ、難しいな…」と考えている方に少しでもこの記事が参考になれば幸いです。
最後までお読みいただきありがとうございました。
では。