Question

I have a string value that contains or a Hebrew date, or a Gregorian date. How can I determine if it's Gregorian or Hebrew in C#?

Was it helpful?

Solution

You can use the TryParse method of the DateTime object - if it failed with the Hebrew culture you can then try with the Gregorian calendar:

DateTime myDate = DateTime.Now;
CultureInfo culture = CultureInfo.CreateSpecificCulture("he-IL");
culture.DateTimeFormat.Calendar = new HebrewCalendar(); // To be sure
DateTimeStyles styles = DateTimeStyles.None;

if (DateTime.TryParse("כ\"ה/אייר/תש\"ע", culture, styles, out myDate))
{
   // Hebrew date
}

culture = CultureInfo.CreateSpecificCulture("en-US");

if (DateTime.TryParse("2/30/2010", culture, styles, out myDate))
{
   // US date
}
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top