8-1)日付と時間を操作する関数

目次

8)関数

8-1)日付と時間を操作する関数

Now:  現在の日付と時間を取得します。

Now:  現在の日付と時間を取得します。
 Dim currecurrenntDateTime As Date
 currecurrenntDateTime = Now
 Debug.Print "現在時刻:" & currecurrenntDateTime

Date: 現在の日付を取得します。

 Dim currentDate As Date
 currentDate = Date
 Debug.Print "現在日付:"; currentDate

Time: 現在の時間を取得します。

 Dim currentTime As Date
 currentTime = Time
 Debug.Print "現在時刻:" & currentTime

8-1-2)日付の部分取得

Year: 日付から年を取得します。

Dim yearPart As Integer
yearPart = Year(Now) '整数
Debug.Print "年:"; yearPart

Month: 日付から月を取得します。

Dim monthPart As Integer
monthPart = Month(Now)  '整数
Debug.Print "月:" & monthPart

Day: 日付から日を取得します。

Dim dayPart As Integer
dayPart = Day(Now)  '整数
Debug.Print "日:" & dayPart

8-1-3)時間の部分取得

Hour: 時間から時を取得します。

    Dim hourPart As Integer
    hourPart = Hour(Now)   '整数型
    Debug.Print "時:" & hourPart

Minute: 時間から分を取得します。

    Dim minutePart As Integer
    minutePart = Minute(Now)  '整数型
    Debug.Print "分:" & minutePart

Second: 時間から秒を取得します。

    Dim secondPart As Integer
    secondPart = Second(Now)  '整数型
    Debug.Print "秒:" & secondPart

8-1-4)日付と時間の解析・構成

DateSerial: 年、月、日を指定して日付を生成します。

    Dim specificDate As Date
    Dim intY, intM, intD As Integer
    intY = 2024: intM = 7: intD = 14
    specificDate = DateSerial(intY, intM, intD)
    Debug.Print "DateSerial:"; specificDate

TimeSerial: 時、分、秒を指定して時間を生成します。

Dim specificTime As Date
Dim intHH, intMM, intSS As Integer
intHH = 13: intMM = 45: intSS = 14
specificTime = TimeSerial(intHH, intMM, intSS)
Debug.Print "TimeSerial:" & specificTime

dateValue: 文字列を日付に変換します。

Dim date_Value As Date
Dim strD As String
strD = "2024-05-31"
date_Value = dateValue(strD)
Debug.Print "dateValue:" & date_Value

timeValue: 文字列を時間に変換します。

Dim time_Value As Date
Dim strT As String
strT = "13:45:14"
time_Value = timeValue(strT)
Debug.Print "timeValue:" & time_Value

8-1-5)日付と時間の演算

DateAdd: 日付に指定した期間を加算します。

Dim newDate As Date
strD = #5/28/2024#
newDate = DateAdd("d", 10, strD)  ' Date
Debug.Print "DateAdd:" & newDate ' 現在の日付に10日を加算

DateDiff: 2つの日付の差を指定した単位で返します。

    Dim daysDifference As Long
    Dim dataD1, dateD2 As Date
    dataD1 = #5/28/2024#
    dataD2 = #7/6/2024#
    daysDifference = DateDiff("d", dataD1, dataD2) 'long
    Debug.Print "DateDiff:" & daysDifference

8-1-6)日付と時間の形式変換

‘Format: 日付や時間を指定した形式の文字列に変換します。

Format: 日付や時間を指定した形式の文字列に変換します。

Dim formattedDate As String

formattedDate = Format(Now, “yyyy/mm/dd hh:nn:ss”)

Dim d As Date
d = #1/15/2024 2:34:16 PM#
Debug.Print "Format:" & Format(d, "dd/mm/yyyy") ' 結果: 15/01/2024
Debug.Print "Format:" & Format(d, "mm-dd-yyyy") ' 結果: 01-15-2024
Debug.Print "Format:" & Format(d, "Long Date") ' 結果: Monday, January 15, 2024
Debug.Print "Format:" & Format(d, "Short Date") ' 結果: 1/15/2024
Debug.Print "Format:" & Format(d, "yyyy/mm/dd hh:nn:ss")
よかったらシェアしてね!
目次