public static void Main()
var date = new DateTime(2019, 10, 1);
var startMonthOfFinancialYear = 10;
Console.WriteLine("date: " + date);
Console.WriteLine("GetFiscalFirstDate Year: " + GetFiscalFirstDate(date, startMonthOfFinancialYear).Year);
Console.WriteLine("Get GetFinancialYear: " + GetFinancialYear(date, startMonthOfFinancialYear));
public static int GetFinancialYear( DateTime dateTime, int startMonthOfFinancialYear)
return (dateTime.Month >= startMonthOfFinancialYear) ? dateTime.AddYears(1).Year : dateTime.Year;
public static DateTime GetFiscalFirstDate(DateTime date,int fiscialMonth){
var firstDay = new DateTime(date.Year,fiscialMonth,1);
if(DateTime.Compare(firstDay, date) >= 0){
firstDay = firstDay.AddYears(-1);