فناوری اطلاعات

.فعالیت این وبلاگ در زمینه برنامه نویسی دات نت ،شبکه های کامپیوتری و اخبار فناوری می باشد

فناوری اطلاعات

.فعالیت این وبلاگ در زمینه برنامه نویسی دات نت ،شبکه های کامپیوتری و اخبار فناوری می باشد

آخرین نظرات

تابعی برای کم کردن چند روز از تاریخ فعلی

سید محسن علوی | جمعه, ۲۲ دی ۱۳۹۱، ۱۱:۱۸ ق.ظ

ورودی تابع یک رشته که تاریخ می باشد و یک مقدار عددی که مقدار روزی می باشد که باید از تاریخ کسر شود.

کد برنامه :

 

 

  String DateMinus(string Date_In, int Days_)

        {

            int Year = 0, Mont = 0, Day = 0, NewDay = 0, NewYear;

            string DateEnd;

            string FHlp = Date_In.Substring(0, Date_In.LastIndexOf('/'));

            Year = Convert.ToInt32(FHlp.Substring(0, FHlp.LastIndexOf('/')));//Year

            Mont = Convert.ToInt32(FHlp.Substring(Year.ToString().Length + 1));//Months

            Day = Convert.ToInt32(Date_In.Substring(Date_In.LastIndexOf('/') + 1));//Day

            NewDay = Day - Days_;

            if (NewDay <= 0)

            {

                Mont--;

                NewDay--;

                if (Mont == 0)

                {

                    NewYear = Year - 1;

                    Year = NewYear;

                    Mont = 12;

                }

                if (Mont <= 6 && Mont >= 1)

                    NewDay = NewDay + 31;

                if (Mont > 6 && Mont <= 11)

                    NewDay = NewDay + 30;

                if (Mont == 12)

                    NewDay = NewDay + 29;

 

                Day = NewDay;

            }

            if (NewDay > 0)

            {

                if (NewDay > 30 && Mont > 6 && Mont <= 11)

                    for (; NewDay > 30; Mont++)

                    {

                        if (Mont > 6 && Mont <= 11)

                        {

                            NewDay = NewDay - 30;

                        }

                        if (Mont <= 6)

                        {

                            for (; NewDay > 31; Mont++)

                                NewDay = NewDay - 31;

                        }

                        if (Mont == 12)

                        {

                            for (; NewDay > 29; Mont++)

                                NewDay = NewDay - 29;

                            if (Mont > 12)

                            {

                                Year++;

                                Mont = 1;

                            }

                        }

                    }

                if (NewDay <= 30 && Mont > 6 && Mont <= 11)

                {

                    Day = NewDay;

                }

                if (NewDay <= 29 && Mont == 12)

                {

                    Day = NewDay;

                }

                if (NewDay <= 31 && Mont <= 6)

                {

                    Day = NewDay;

                }

            }

 

            DateEnd = (Convert.ToString(Year) + "/" + Convert.ToString(Mont) + "/" + Convert.ToString(Day));

            return (DateEnd);

            

        }

 

 

  • سید محسن علوی

نظرات  (۰)

هیچ نظری هنوز ثبت نشده است

ارسال نظر

ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
شما میتوانید از این تگهای html استفاده کنید:
<b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">
تجدید کد امنیتی