public ToDateTime ( int year, int month, int day, int hour, int minute, int second, int millisecond, int era ) : System.DateTime | ||
year | int | |
month | int | |
day | int | |
hour | int | |
minute | int | |
second | int | |
millisecond | int | |
era | int | |
return | System.DateTime |
public override DateTime ToDateTime(int year, int month, int day, int hour, int minute, int second, int millisecond, int era) {
if (day >= 1 && day <= 29)
{
CheckYearMonthRange(year, month, era);
goto DayInRang;
}
// The year/month/era value checking is done in GetDaysInMonth().
int daysInMonth = GetDaysInMonth(year, month, era);
if (day < 1 || day > daysInMonth) {
BCLDebug.Log("year = " + year + ", month = " + month + ", day = " + day);
throw new ArgumentOutOfRangeException(
"day",
String.Format(
CultureInfo.CurrentCulture,
Environment.GetResourceString("ArgumentOutOfRange_Day"),
daysInMonth,
month));
}
DayInRang:
long lDate = GetAbsoluteDateUmAlQura(year, month, day);
if (lDate >= 0) {
return (new DateTime(lDate * GregorianCalendar.TicksPerDay + TimeToTicks(hour, minute, second, millisecond)));
} else {
throw new ArgumentOutOfRangeException(null, Environment.GetResourceString("ArgumentOutOfRange_BadYearMonthDay"));
}
}
public static DateTime?ToHijriDateTimeObject(this string date) { if (string.IsNullOrEmpty(date.Trim())) { return(null); } string[] DateParts = date.Split('/'); var umAlQura = new System.Globalization.UmAlQuraCalendar(); return(umAlQura.ToDateTime(int.Parse(DateParts[2]), int.Parse(DateParts[1]), int.Parse(DateParts[0]), 0, 0, 0, 0)); }