Table Of Contents
DateTime型とは
西暦、月、日、時、分、秒 などの、日付や時刻を表す値を格納できるデータ型のひとつで、日付や時間など、必要な情報を任意の形式へ変更して扱うことが可能です。
リテラル値の形式は「MM/dd/yyyy hh:mm:ss」となっています。同じく日付や時刻を表すデータ型には「DATE型」「TIME型」「TIMESTAMP型」などが存在します。
使用例
文字列を日付型へ変換
■CTypeメソッドを使用して変換
|CType(変換元の値, 変換後の型)|
左辺のDateTime型変数「dateTest」へ、右辺の「2024-12-4」という文字列を、指定した型であるDateTime型へと変換して格納
実行結果
※右辺は下記例のような指定も可能
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(“2024/02/06”)
DateTime.Parse(“2024/02/06 08:00:00”)
日付型を文字列へ変換
■ToStringメソッドを使用して変換
|DateTime型の変数.ToString|
左辺のString型変数「strTest」へ、右辺の「dateTEST」という日付型変数を、String型へと変換して格納
実行結果
※右辺では下記例のように、任意の表示形式を指定することも可能
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.toString(“yyyy/MM/dd HH:mm:ss”)
■DateTime構造体のTodayプロパティを使用して取得
|DateTime.Today|
左辺のDateTime型変数「dateTest」へ、右辺で本日の日付を指定して格納(※Nowとは異なり、時刻は取得不可)
実行結果
日付比較について
■DateTime.Compareメソッドを使用して比較
左辺のInt型変数「intTest」へ、右辺のメソッドの引数1(DateTime型変数)と引数2(DateTime型変数)の比較結果(Int型の戻り値)を格納
|DateTime.Compare(引数1, 引数2) |
Int型の戻り値が0より小さい場合
⇒ 引数1が引数2よりも前の日付である
Int型の戻り値が0より大きい場合
⇒ 引数1が引数2よりも先の日付である
– Int型の戻り値が0の場合
⇒ 引数1と引数2は同じである
DateTime型計算について
■DateTime.AddDaysメソッドを使用して取得
左辺のDateTime型変数「dateTEST2」へ、右辺のDateTime型変数「dateTEST1」へ引数で指定した数字を加算して格納
|DateTime型の変数.AddDays(足したいor引きたい日数)|
実行結果
※右辺は下記例のような指定も可能
DateTime.Now.AddDays(20)
DateTime型変数.AddDays(-20)
■DateAdd関数を使用して取得
左辺のDateTime型変数「dateTEST2」へ、右辺のDateTime型変数「dateTEST1」へ引数で指定した時間間隔へ値を加算して格納
|DateAdd(“操作したい時間間隔書式”, 足したいor引きたい値, 基準となる日時)|
実行結果
※右辺は下記例のような指定も可能
DateAdd(“yyyy”, ー10, DateTime型変数)
時間間隔として指定可能な書式
- yyyy : 年
- q : 四半期
- m : 月
- y : 通年での日数
- d : 日
- w : 平日
- ww : 週
- h : 時
- n : 分
- s : 秒
和暦変換について
■CultureInfoクラスとJapaneseCalendarクラスを使用して取得
1.CultureInfoクラス変数を宣言し、日本のカルチャ情報を設定
左辺
cInfo
右辺
New CultureInfo(“ja-JP”, true)
2.JapaneseCalendarクラスを宣言し、カレンダー情報に和暦を設定
左辺
cInfo.DateTimeFormat.Calendar
右辺
New JapaneseCalendar
3.実行結果
曜日の取得について
■ToStringの書式設定で、曜日の書式を指定する
|DateTime型の変数.ToString(“dddd”)|
実行結果
時間間隔として指定可能な文字列
- ddd : 曜日(短) 例 Mon
- dddd : 曜日(長) 例 Monday
前月最終日の取得について
■今月1日の前日を取得することで、前月の最終日を取得
左辺
DateTime型変数
右辺
New DateTime(DateTime.Now.Year, DateTime.Now.Month, 1).AddDays(-1)
実行結果