Year date functions VBA
This page displays code fragments for the following Year related calculations:
- Year - from date
- Is leap year - year has 366 days
- Number of day in year
- First day in year
- Last day in year
Number of day in year
Given a certain date, what is the number of day in year. For example dt = #3/18/2022#
returns 78
.
Dim iDayNumber As Integer
Dim dt As Date: dt = Date
iDayNumber = DateDiff("d", CDate("1/1/" & Year(dt)), dt) + 1
Is leap year
Nearly every four years is a leap year which has 366 days.
Dim booIsLeapYear As Boolean
Dim dt As Date: dt =
booIsLeapYear = ((Year(dt) Mod 4 = 0) And (Year(dt) Mod 100 <> 0)) Or (Year(dt) Mod 400 = 0)
Year | booIsLeapYear |
2000 | True |
2001 | False |
2022 | True |
1900 | False |
Year - from date
The VBA function returns the year from a date. For example dt = #6/23/2022#
returns 2022
.
Dim dt As Date: dt =
Dim iYear As Integer
iYear = Year(dt)
First day in year
Given a certain date, what is the first day (date) in it's year. For example dt = #6/23/2022#
returns 1/1/2022
.
Dim dtFirstDayInYear As Date
Dim dt As Date: dt =
dtFirstDayInYear = DateSerial(Year(dt), 1, 1)
Last day in year
Given a certain date, what is the last day (date) in it's year. For example dt = #6/23/2022#
returns 12/31/2022
.
Dim dtLastDayInYear As Date
Dim dt As Date: dt =
dtLastDayInYear = DateSerial(Year(dt), 12, 31)
Below image shows the Code VBA add-in support for VBA Date procedures.