How to get the number of the day from the beginning of the year to a given date in VB.NET

1 Answer

0 votes
Imports System

Public Class Program
    Public Shared Function IsLeapYear(ByVal year As Integer) As Boolean
        Return (year Mod 4 = 0 AndAlso (year Mod 100 <> 0 OrElse year Mod 400 = 0))
    End Function

    Public Shared Function GetDayOfYear(ByVal year As Integer, ByVal month As Integer, ByVal day As Integer) As Integer
        Dim days As Short() = New Short() {0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334}

        If IsLeapYear(year) AndAlso month >= 2 Then
            Return days(month - 1) + day + 1
        End If

        Return days(month - 1) + day
    End Function

    Public Shared Sub Main(ByVal args As String())
        Dim dayOfYear As Integer = GetDayOfYear(2023, 5, 16)

        Console.Write(dayOfYear)
    End Sub
End Class




' run:
'
' 136
'

 



answered May 16, 2023 by avibootz

Related questions

...