示例#1
0
        public static PersianDateTime AddWeeks(this PersianDateTime persianDateTime, int weeks)
        {
            var dateTime = PersianCalendar.AddWeeks(persianDateTime.DateTime, weeks);

            persianDateTime.DateTime = dateTime;
            return(new PersianDateTime(dateTime));
        }
示例#2
0
        public static PersianDateTime AddHours(this PersianDateTime persianDateTime, int hours)
        {
            var dateTime = PersianCalendar.AddHours(persianDateTime.DateTime, hours);

            persianDateTime.DateTime = dateTime;
            return(new PersianDateTime(dateTime));
        }
示例#3
0
        public static PersianDateTime AddMilliseconds(this PersianDateTime persianDateTime, int milliseconds)
        {
            var dateTime = PersianCalendar.AddMilliseconds(persianDateTime.DateTime, milliseconds);

            persianDateTime.DateTime = dateTime;
            return(new PersianDateTime(dateTime));
        }
示例#4
0
 public PersianDateTime(PersianDateTime persianDateTime)
 {
     Year        = persianDateTime.Year;
     Month       = persianDateTime.Month;
     Day         = persianDateTime.Day;
     Hour        = persianDateTime.Hour;
     Minute      = persianDateTime.Minute;
     Second      = persianDateTime.Second;
     Millisecond = persianDateTime.Millisecond;
     DateTime    = persianCalendar.ToDateTime(Year, Month, Day, Hour, Minute, Second, Millisecond);
 }
示例#5
0
        public static List <PersianDateTime> GenerateYearlyCalender(int year)
        {
            List <PersianDateTime> persianDateTimes = new List <PersianDateTime>(366);
            var             StartDate = ShamsiStartDateTimeOfPersianYear(year);
            var             EndDate   = ShamsiEndDateTimeOfPersianYear(year);
            PersianDateTime cursor    = StartDate;

            while (cursor < EndDate)
            {
                persianDateTimes.Add(cursor.Copy());
                cursor = cursor.AddDays(1);
            }

            return(persianDateTimes);
        }
示例#6
0
        public static int GetWorkingDays(PersianDateTime startDate, PersianDateTime endDate, bool includeThursdays = false)
        {
            if (startDate > endDate)
            {
                var tmp = startDate;
                startDate = endDate;
                endDate   = tmp;
            }
            var offset = new PersianDateTime(startDate);

            int result = 0;

            while (offset <= endDate)
            {
                if (!offset.IsHoliDay && (offset.DateTime.DayOfWeek != System.DayOfWeek.Thursday || includeThursdays))
                {
                    result++;
                }
                offset++;
            }
            return(result);
        }
 public static Boolean IsPersianDateValid(this PersianDateTime persianDate)
 {
     return(Regex.IsMatch(persianDate.ToString(), PersianDatePattern));
 }
示例#8
0
 public static PersianDateTime ShamsiStartDateTimeOfDay(this PersianDateTime persianDateTime)
 => ShamsiStartDateTimeOfDay(persianDateTime.DateTime);
示例#9
0
 public static double DateDifference(this PersianDateTime d1, PersianDateTime d2)
 => (d1.DateTime - d2.DateTime).TotalDays;
示例#10
0
 public static DateTime ToGregorianDateTime(this PersianDateTime dt) =>
 dt.DateTime;
示例#11
0
 public static string GetDiffrenceToNow(this PersianDateTime dt) =>
 GetDiffrenceToNow(dt.DateTime);
示例#12
0
 public static string GetHijriDate(this PersianDateTime persianDate)
 {
     return(GetHijriDate(persianDate.DateTime));
 }
示例#13
0
 public static PersianDateTime Copy(this PersianDateTime persianDateTime)
 {
     return(new PersianDateTime(persianDateTime.DateTime));
 }
示例#14
0
 public static IEnumerable <DateMetaData> GetDateInformation(this PersianDateTime persianDateTime)
 => persianDateTime.DateMetaDatas;
示例#15
0
 public bool Equals(PersianDateTime other)
 {
     return(this == other);
 }