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
'