PDA

View Full Version : سوال: انجام عملیات روی تاریخ



mohammad mehd
یک شنبه 05 آبان 1392, 09:49 صبح
سلام
پروژه کتابخانه دارم میخوام زمانی که تاریخ تحویل کتاب رو ثبت میکنم و تعداد روزی رو که مجازه این کتاب در اختیارش باشه رو جمع کنه و در text box خودش قرار بده
من تاریخ رو بصورت کارکتر تعریف کردم که مشکلی با شمسی کردنش نداشته باشم.
حالا نمیدونم چطور جمع رو انجام بدم روش میشه کدش رو برام بزارید ؟

saied_max
یک شنبه 05 آبان 1392, 10:08 صبح
از تابع span استفاده کن. دسترسی به ویژال ندارم که دقیقا توضیح بدم

rahnema1
یک شنبه 05 آبان 1392, 10:41 صبح
کد زیر ده روز به زمان حال اضافه می کنه همون طور که saied_max عزیز اشاره کرد از TimeSpan هم میشه استفاده کرد



textBox1.Text=DateTime.Now.AddDays(10).ToString();

mohammad mehd
یک شنبه 05 آبان 1392, 12:53 عصر
مرسی از راهنمایی شما دوست عزیز
مشکلم اینجاست
مثلا تاریخ به صورت کاراکتر 92/08/05 وارد میشه و ذخیره میشه
حالا یک جا دیگه تعداد روز بصورت 377 روز وارد میشه
حالا باید محاسبه بشه جمع این 2 تا در یک TEXT box
برنامه با sql , #C نوشته شده
میشه راهنماییم کنید؟

rahnema1
یک شنبه 05 آبان 1392, 14:17 عصر
کد زیر با فرض اینکه شروع روز کاری ساعت 8 صبح باشه یک رشته رو بصورتی که شما گفتید می گیره 377 روز به اون اضافه می کنه و نهایتا داخل تکست باکس قرار میده


string dbtime="92/08/05";
string[] mydate=dbtime.Split('/');
DateTime dt,dt1;
System.Globalization.PersianCalendar pc = new System.Globalization.PersianCalendar();
int year=(Convert.ToInt32(mydate[0])>50?Convert.ToInt32(mydate[0])+1300:Convert.ToInt32(mydate[0])+1400);
int month=Convert.ToInt32(mydate[1]);
int day=Convert.ToInt32(mydate[2]);
dt=pc.ToDateTime(year,month,day,8,0,0,0);
dt1=dt.AddDays(377);
string year1=((pc.GetYear(dt1)%100).ToString().Length>1?(pc.GetYear(dt1)%100).ToString():"0"+(pc.GetYear(dt1)%100).ToString());
string month1=((pc.GetMonth(dt1)).ToString().Length>1?(pc.GetMonth(dt1)).ToString():"0"+(pc.GetMonth(dt1)).ToString());
string day1=((pc.GetDayOfMonth(dt1)).ToString().Length>1?(pc.GetDayOfMonth(dt1)).ToString():"0"+(pc.GetDayOfMonth(dt1)).ToString());
textBox1.Text=year1+"/"+month1+"/"+day1;