DateTime型とは

西暦、月、日、時、分、秒 などの、日付や時刻を表す値を格納できるデータ型のひとつで、日付や時間など、必要な情報を任意の形式へ変更して扱うことが可能です。
リテラル値の形式は「MM/dd/yyyy hh:mm:ss」となっています。同じく日付や時刻を表すデータ型には「DATE型」「TIME型」「TIMESTAMP型」などが存在します。

使用例

文字列を日付型へ変換

■CTypeメソッドを使用して変換

|CType(変換元の値, 変換後の型)|
左辺のDateTime型変数「dateTest」へ、右辺の「2024-12-4」という文字列を、指定した型であるDateTime型へと変換して格納

実行結果

CType

※右辺は下記例のような指定も可能
cType(“2024/02/06”,DateTime)
cType(“2024/02/06 08:00:00”,DateTime)

■DateTime.Parseメソッドを使用して変換

|DateTime.Parse(変換元の文字列)|
左辺のDateTime型変数「dateTest」へ、右辺の「2024-12-4」という文字列を、DateTime型へと変換して格納

実行結果

DateTime.Parse

※右辺は下記例のような指定も可能
DateTime.Parse(“2024/02/06”)
DateTime.Parse(“2024/02/06 08:00:00”)

日付型を文字列へ変換

■ToStringメソッドを使用して変換

|DateTime型の変数.ToString|
左辺のString型変数「strTest」へ、右辺の「dateTEST」という日付型変数を、String型へと変換して格納

実行結果

DateTime.ToString

※右辺では下記例のように、任意の表示形式を指定することも可能
dateTest.toString(“yyyy/MM/dd HH:mm:ss”)

使用頻度の高い書式指定文字列一覧

  • yyyy:西暦4桁(yy は西暦2桁)
  •  MM:月2桁(M は月1桁)
  •  dd:日付2桁(d は日付1桁)
  •  HH:時間24H表記2桁(h は時間12h表記 10以下の場合は1桁)
  •  mm:分2桁(m は分 10以下の場合は1桁)
  •  ss:秒2桁(s は秒 10以下の場合は1桁)

 

現在日時の取得について

■DateTime構造体のNowプロパティを使用して取得

|DateTime.Now|
左辺のDateTime型変数「dateTest」へ、右辺で現在日時を指定して格納

実行結果

DateTime.Now

※右辺では下記例のように、任意の表示形式へ変更する指定も可能
DateTime.Now.toString(“yyyy/MM/dd HH:mm:ss”)

■DateTime構造体のTodayプロパティを使用して取得

|DateTime.Today|
左辺のDateTime型変数「dateTest」へ、右辺で本日の日付を指定して格納(※Nowとは異なり、時刻は取得不可)

実行結果

DateTime.Today

日付比較について

■DateTime.Compareメソッドを使用して比較

左辺のInt型変数「intTest」へ、右辺のメソッドの引数1(DateTime型変数)と引数2(DateTime型変数)の比較結果(Int型の戻り値)を格納
|DateTime.Compare(引数1, 引数2) |

Int型の戻り値が0より小さい場合
⇒ 引数1が引数2よりも前の日付である

DateTime.Compare(-1)

Int型の戻り値が0より大きい場合
⇒ 引数1が引数2よりも先の日付である

DateTime.Compare(1)

– Int型の戻り値が0の場合
⇒ 引数1と引数2は同じである

DateTime.Compare(0)

DateTime型計算について

■DateTime.AddDaysメソッドを使用して取得

左辺のDateTime型変数「dateTEST2」へ、右辺のDateTime型変数「dateTEST1」へ引数で指定した数字を加算して格納
|DateTime型の変数.AddDays(足したいor引きたい日数)|

実行結果

DateTime.Adddays

※右辺は下記例のような指定も可能
DateTime.Now.AddDays(20)
DateTime型変数.AddDays(-20)

■DateAdd関数を使用して取得

左辺のDateTime型変数「dateTEST2」へ、右辺のDateTime型変数「dateTEST1」へ引数で指定した時間間隔へ値を加算して格納
|DateAdd(“操作したい時間間隔書式”, 足したいor引きたい値, 基準となる日時)|

実行結果

DateAdd

※右辺は下記例のような指定も可能
DateAdd(“yyyy”, ー10, DateTime型変数)

時間間隔として指定可能な書式

  • yyyy : 年
  • q : 四半期
  • m : 月
  • y : 通年での日数
  • d : 日
  • w : 平日
  • ww : 週
  • h : 時
  • n : 分
  • s : 秒

 

和暦変換について

■CultureInfoクラスとJapaneseCalendarクラスを使用して取得

1.CultureInfoクラス変数を宣言し、日本のカルチャ情報を設定
左辺
cInfo

右辺
New CultureInfo(“ja-JP”, true)

CultureInfo

2.JapaneseCalendarクラスを宣言し、カレンダー情報に和暦を設定
左辺
cInfo.DateTimeFormat.Calendar

右辺
New JapaneseCalendar

JapaneseCalendar

3.実行結果

和暦変換.

曜日の取得について

■ToStringの書式設定で、曜日の書式を指定する

|DateTime型の変数.ToString(“dddd”)|

実行結果

曜日の取得

時間間隔として指定可能な文字列

  •  ddd : 曜日(短) 例 Mon
  •  dddd : 曜日(長) 例 Monday

 

前月最終日の取得について

■今月1日の前日を取得することで、前月の最終日を取得
左辺
DateTime型変数

右辺
New DateTime(DateTime.Now.Year, DateTime.Now.Month, 1).AddDays(-1)

実行結果

前月最終日の取得