Ok, I see you converting a string. In my opinion this is not needed for your problem. Anyway here is a solution.
The DateTime.Parse and ToString methods provide everything you need.
Look at this example app:
using System;
using System.Globalization;
namespace DateTimeConverter
{
class Program
{
static CultureInfo cultureJewish = CultureInfo.CreateSpecificCulture("he-IL");
static void Main(string[] args)
{
cultureJewish.DateTimeFormat.Calendar = new HebrewCalendar();
DateTime dtAnyDateHebrew = new DateTime(5767, 1, 1, new System.Globalization.HebrewCalendar());
Console.WriteLine(dtAnyDateHebrew.ToString(cultureJewish));
Console.WriteLine(dtAnyDateHebrew.ToString());
DateTime dtConverted = ParseHebrewDateTimeString(dtAnyDateHebrew.ToString(cultureJewish));
Console.WriteLine(dtConverted);
DateTime dtHebrewBegin = new DateTime(5767, 1, 1, new System.Globalization.HebrewCalendar());
DateTime dtHebrewMiddle = new DateTime(5768, 1, 1, new System.Globalization.HebrewCalendar());
DateTime dtHebrewEnd = new DateTime(5769, 1, 1, new System.Globalization.HebrewCalendar());
if (dtHebrewMiddle > dtHebrewBegin && dtHebrewMiddle < dtHebrewEnd)
Console.WriteLine("Date {0} falls between {1} and {2}",
dtHebrewMiddle.ToString(cultureJewish),
dtHebrewBegin.ToString(cultureJewish),
dtHebrewEnd.ToString(cultureJewish));
Console.ReadKey();
}
public static DateTime ParseHebrewDateTimeString(string strHebrew)
{
DateTime dtResult = DateTime.Parse(strHebrew, cultureJewish);
return dtResult;
}
}
}