How to get the number of the day from the beginning of the year to a given date in C#

1 Answer

0 votes
using System;

public class Program
{
	private static bool IsLeapYear(int year) {
		return (year % 4 == 0 && (year % 100 != 0 || year % 400 == 0));
	}

	private static int GetDayOfYear(int year, int month, int day) {
		short[] days = new short[] {0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334};

		if (IsLeapYear(year) && month >= 2) {
			return days[month - 1] + day + 1;
		}

		return days[month - 1] + day;
	}

	public static void Main(string[] args)
	{
		int dayOfYear = GetDayOfYear(2023, 5, 16);

		Console.Write(dayOfYear);
	}
}




/*
run:
   
136
   
*/

 



answered May 16, 2023 by avibootz
edited Dec 13, 2025 by avibootz

Related questions

...