title: Is it possible to represent non gregorian dates as DateTime in .NET?
body: <p>I'm having trouble representing Persian (Solar Hijri Calendar) dates as <code>DateTime</code> in C#, specifically on certain days of particular months, for example 31/04 where in the Gregorian calendar such a date is meaningless:</p>
  
  <pre><code>System.Globalization.PersianCalendar p = new System.Globalization.PersianCalendar();
  DateTime date = new DateTime(2013,7,22);
  int year = p.GetYear(date);
  int month = p.GetMonth(date);
  int day = p.GetDayOfMonth(date);
  DateTime d1 = new DateTime(year, month, day);
  </code></pre>
  
  <p>The above code will result in an <code>ArgumentOutOfRangeException</code> saying:
  <code>Year, Month, and Day parameters describe an un-representable DateTime.</code></p>
  
  <p>Which is expected.</p>
  
  <p>How can I represent Persian Dates as <code>DateTime</code>s in .NET taking into accounts dates such as 30/02 and 31/04?</p>