PDA

View Full Version : سوال: تغییر در نحوه عملکرد توابع PersianCalendar



ma.rad
سه شنبه 22 فروردین 1391, 20:56 عصر
سلام به اساتید
میخوام زمانی که دارم به یه تاریخ، ماه اضافه می کنم نیاید 31 روز حساب کنه وماه ها رو30 روزه حساب کنه
مثلا به تاریخ01/03/1390 ،9ماه اضافه کنم بشه 01/12/1390 نه بشه 03/12/1390
یا به همین تاریخ 90 روز اضافه یا کم کنیم همین عملکرد داشته باشه

ma.rad
چهارشنبه 23 فروردین 1391, 09:30 صبح
برا روشن شدم موضوع می خوام اگر به 01/05/1390 ، 16 ماه اضافه بشه ،تاریخ بشه تا 01/09/1391 درصورتی که تاریخ بعد از محاسبه می شه 03/09/1391
یا اگز به تاریخ 01/01/1390 ،2ماه اضافه بشه باید تاریخ 01/03/1390 بشه در صورتی که زمان محاسبه تاریخ می شه 31/02/1390

omid_csh
چهارشنبه 23 فروردین 1391, 10:50 صبح
سلام
به صورت رشته نوشتم:
private string AddMonth(string date, int addedMonth)
{
string newDate = string.Empty;
int month, newMonth;
int year, newYear;

//بدست آوردن ماه
month = int.Parse(date.Substring(5, 2));
//بدست آوردن سال
newYear = int.Parse(date.Substring(0, 4));

//محاسبه تغییرات ماه و سال
month += addedMonth;
year = month / 12;
month %= 12;

//محاسبه ماه و سال جدید
newMonth = month;
newYear += year;

//ایجاد تاریخ مورد نظر
newDate = string.Format("{0}/{1}/{2}",
newYear.ToString("0000"),
newMonth.ToString("00"),
date.Substring(8, 2));

return newDate;
}

private void Form2_Load(object sender, EventArgs e)
{
string date = AddMonth("1390/02/24", 36);
}

ma.rad
چهارشنبه 23 فروردین 1391, 11:12 صبح
برا روز چطور؟

omid_csh
چهارشنبه 23 فروردین 1391, 11:16 صبح
برا روز چطور؟
دقیقا مثال بزن.

vof.ir
چهارشنبه 23 فروردین 1391, 11:48 صبح
در کل متد مورد نظرتان را به صورت
Extension Method
بنویسید بهتره

ma.rad
چهارشنبه 23 فروردین 1391, 17:57 عصر
لام مثلا 62 روز که به تاریخ 01/05/1390 اضافه میشه بشه03/07/1390

Extension Method یعنی چی؟

vof.ir
چهارشنبه 23 فروردین 1391, 18:10 عصر
با Extension Method میتونید خیلی راحت متدتان را یک بار در پروژ تعریف کنید، و سپس در تمامی متغیرهایی که در جنس کلاسی که براش Extension Method نوشته اید استفاده کنید

http://www.extensionmethod.net/Default.aspx
در همین فروم هم سرچ کنید مطالب مرتبطش هست!