@DmitryBychenko's answer is fine, although if you don't want to quote, you can also figure it out:
var calendar = new HebrewCalendar(); var result = DateTime.UtcNow; if( calendar.GetMonth(result) < 3 || (calendar.GetMonth(result)==3 && calendar.GetDayOfMonth(result)<25) ) result = new DateTime(calendar.GetYear(result), 3, 25, calendar); else result = new DateTime(calendar.GetYear(result)+1, 3, 25, calendar);
If you are under 25/3 on HebrewCalendar , use this year, otherwise use the following
The result is also December 7, 2015 in the gregorian calendar
If (according to the comments) you do not want these pesky if conditions for some reason, you could do something like:
var calendar = new HebrewCalendar(); var result = DateTime.UtcNow; var addYear = (calendar.GetMonth(result) < 3 || (calendar.GetMonth(result)==3 && calendar.GetDayOfMonth(result)<25)) ? 0 : 1; result = new DateTime(calendar.GetYear(result) + addYear, 3, 25, calendar);
I donโt think it helps readability, but there you go
source share