示例#1
0
        internal virtual int GetDatePart(DateTime time, int part)
        {
            int HijriYear  = 0;
            int HijriMonth = 0;
            int HijriDay   = 0;

            UmAlQuraCalendar.CheckTicksRange(time.Ticks);
            UmAlQuraCalendar.ConvertGregorianToHijri(time, ref HijriYear, ref HijriMonth, ref HijriDay);
            if (part == 0)
            {
                return(HijriYear);
            }
            if (part == 2)
            {
                return(HijriMonth);
            }
            if (part == 3)
            {
                return(HijriDay);
            }
            if (part == 1)
            {
                return((int)(UmAlQuraCalendar.GetAbsoluteDateUmAlQura(HijriYear, HijriMonth, HijriDay) - UmAlQuraCalendar.GetAbsoluteDateUmAlQura(HijriYear, 1, 1) + 1L));
            }
            throw new InvalidOperationException(Environment.GetResourceString("InvalidOperation_DateTimeParsing"));
        }
示例#2
0
 /// <summary>计算指定日期出现在哪个纪元。</summary>
 /// <returns>总是返回 <see cref="F:System.Globalization.UmAlQuraCalendar.UmAlQuraEra" /> 值。</returns>
 /// <param name="time">要读取的数据类型。</param>
 /// <exception cref="T:System.ArgumentOutOfRangeException">
 /// <paramref name="time" /> 超出了此日历支持的范围。</exception>
 public override int GetEra(DateTime time)
 {
     UmAlQuraCalendar.CheckTicksRange(time.Ticks);
     return(1);
 }