示例#1
0
        public static string GetPartday(string date, EnPartDate type)
        {
            try
            {
                var y = date.Substring(0, 4);
                var m = date.Substring(5, 2);
                var d = date.Substring(8, 2);
                switch (type)
                {
                case EnPartDate.Year: return(y);

                case EnPartDate.Mounth: return(m);

                case EnPartDate.Day: return(d);

                default: return("");
                }
            }
            catch (Exception ex)
            {
                WebErrorLog.ErrorInstence.StartErrorLog(ex);
                return(null);
            }
        }
示例#2
0
        public static string AddToShamsiDate(int days, string dateSH, EnPartDate part)
        {
            try
            {
                if (dateSH.Length < 7)
                {
                    return(MiladiToShamsi(DateTime.Now));
                }
                if (dateSH.Split('/').Count() != 3)
                {
                    return(MiladiToShamsi(DateTime.Now));
                }
                dateSH = dateSH.Trim();
                var y = int.Parse(dateSH.Substring(0, 4));
                var m = int.Parse(dateSH.Substring(5, 2));
                var d = int.Parse(dateSH.Substring(8, 2));
                if (d <= 0 || d > 31)
                {
                    return(MiladiToShamsi(DateTime.Now));
                }
                if (m <= 0 || m > 12)
                {
                    return(MiladiToShamsi(DateTime.Now));
                }
                if (y.ToString().Length == 2)
                {
                    y = 1300 + y;
                }
                if (y <= 1200 || y >= 1500)
                {
                    return(MiladiToShamsi(DateTime.Now));
                }
                var dateM   = ShamsiToMiladi(dateSH);
                var addDays = 0;
                switch (part)
                {
                case EnPartDate.Day:
                    addDays = days;
                    break;

                case EnPartDate.Mounth:
                    if (days < 0)
                    {
                        m = m - 1;
                    }
                    addDays = days * EndDayOfMonth((short)m, y);
                    break;

                case EnPartDate.Year:
                    return((y + days) + "/" + m.ToString("00") + "/" + d.ToString("00"));
                }

                dateM = dateM.AddDays(addDays);
                return(MiladiToShamsi(dateM));
            }
            catch (Exception ex)
            {
                WebErrorLog.ErrorInstence.StartErrorLog(ex);
                return(null);
            }
        }