スポンサーリンク

[VisualBasic]現在日付や時刻を操作するDateTimeクラスの取得・日付計算メソッド

VisualBasic辞典

日付や時刻などに関するDateTimeクラス

システム日付(現在日付)の取得や、二つの日付・時間の間隔を計算したりと、DateTimeクラスには色々なメソッドが用意されています。

現在の日時を取得する方法

宣言後の最初の代入にNowプロパティを使用すると、現在の時間を取得する事ができます。

使い方の例

'宣言と格納
Dim dt As DateTime = DateTime.Now

'現在の日付を「YYYY年MM月DD日」形式で表示
LabelDay.Text = dt.ToLongDateString

'現在の時刻を「h:m:s」形式で表示
LabelTime.Text = dt.ToLongTimeString

 

年・月・日(時・分・秒)を別々に取得する方法

「年・月・日」や「時・分・秒」を別々に取得するにはそれぞれのプロパティを利用します。ただし、格納されているのはInteger型なので、明示的な変換をする場合はToStringメソッドを使用します。

使い方の例

Dim dt As DateTime = DateTime.Now

'年を表示
Label1.Text = dt.Year.ToString
'月を表示
Label2.Text = dt.Month.ToString
'日を表示
Label3.Text = dt.Day.ToString

'時を表示
Label4.Text = dt.Hour.ToString
'分を表示
Label5.Text = dt.Minute.ToString
'秒を表示
Label6.Text = dt.Second.ToString

 

曜日を取得する方法

DayOfWeekプロパティには、曜日に対応した 0〜6 の番号が格納されています。また、それに対応した定数も用意されています。

0日曜日1月曜日2火曜日3水曜日
4木曜日5金曜日6土曜日

使い方の例

Dim dt As DateTime = DateTime.Now

'曜日を文字列で格納する変数
Dim sYobi As String

'対応する定数と比較して、文字列を格納
Select Case dt.DayOfWeek
    Case DayOfWeek.Sunday
        sYobi = "日曜日"

    Case DayOfWeek.Monday
        sYobi = "月曜日"

    Case DayOfWeek.Tuesday
        sYobi = "火曜日"

    Case DayOfWeek.Wednesday
        sYobi = "水曜日"

    Case DayOfWeek.Thursday
        sYobi = "木曜日"

    Case DayOfWeek.Friday
        sYobi = "金曜日"

    Case DayOfWeek.Saturday
        sYobi = "土曜日"
End Select

 

任意の日時でDateTimeを生成する方法

現在の日時(システム日付)でなく、任意の日時のDateTimeオブジェクトを生成するには、コンストラクタの引数を指定します。

引数3つで「年月日」のみを指定すると、時間は午前0時ちょうどになります。

使い方の例

'引数3つで「年月日」を指定
Dim dt1 As New DateTime(2020, 1, 23)

'引数6つで「年月日時分秒」を指定
Dim dt2 As New DateTime(2020, 3, 31, 8, 15, 0)

 

2つの日時の間隔を計算する方法

DateTimeクラスのSubtract()メソッドを使えば、二つの日時の間隔を計算する事ができます。

戻り値をTimeSpan型で受け取り、使用したいプロパティを参照します。

使い方の例

'二つのDateTimeクラスを生成
Dim dt1 As New DateTime(2020, 1, 23)
Dim dt2 As New DateTime(2020, 3, 31)

'間隔を計算
Dim ts As TimeSpan
ts = dt2.Subtract(dt1)

'Daysプロパティで「日」の間隔を参照
Label1.Text = ts.Days
TimeSpanクラスの色々なプロパティ
Days … 日数
Hours … 時間
Minutes … 分
Seconds … 秒
Milliseconds … ミリ秒

さいごに

DateTimeクラスは日時を扱う場合に、頻繁に使用することのあるクラスです。

使用する方法はそれほど難しくはないので、この記事ページを参考に色々と試してみてください。

 

タイトルとURLをコピーしました