PDA

View Full Version : مقایسه ئ دو تاریخ



morrteza323
سه شنبه 20 مرداد 1388, 20:45 عصر
سلام
دوستان کسی تابعی رو بلده که 2 تا تارخ رو با هم مقایسه کنه و اختلافشون رو بگه.مثلا تاریخ تولد رو بهش بدی و با تاریخ امروز مفایسه کنه و میزان سن رو مشخص کنه.:متفکر:

happy65_sh
چهارشنبه 21 مرداد 1388, 06:54 صبح
برای به دست آوردن اختلاف دو تاریخ می تونی از Time Span استفاده کنی.

حامد_رشنو
چهارشنبه 21 مرداد 1388, 08:31 صبح
درود بر همه دوستان
دوست عزيز به نظر من بايد اين كارو با كد نويسي انجام بدي من قبلا اين كارو انجام دادم با پاسكال و vb ، شما بايد روز و ماه و سال رو بصورت جداگانه از هم كم كني البته مشكلات كوچيكي هم داره بعنوان مثال اينكه ماه تولد 1 و ماه كنوني 3 باشه كه در اين صورت بايد از سال كم كني .

اميدوارم تونسته باشم كمكت كنم.

happy65_sh
چهارشنبه 21 مرداد 1388, 09:37 صبح
اگر تاریخت را به صورت شمسی ذخیره می کنی:


System.Globalization.PersianCalendar pdate = new System.Globalization.PersianCalendar();
DateTime dttavalod = pdate.ToDateTime(yearTavalod, monthTavalod,DayTavalod, 0, 0, 0, 1);
TimeSpan ts = new TimeSpan();
ts = DateTime.Now - dttavalod;
this.Text = ts.Days.ToString();

persiansoft_amin
چهارشنبه 21 مرداد 1388, 10:26 صبح
این dll هم هست خودم نوشتم دوست داشتی دانلودش کن.
http://rapidshare.com/files/266448502/Date_Diff.dll.html

sa_ghaznavi
چهارشنبه 21 مرداد 1388, 10:31 صبح
مییتونی از کلاسی که برات گذاشتم استفاده کنی . این کلاس یک متد(DaysBetween) داره که دو تاریخ رو می گیره و تعداد روزهای بین آن دو رو بر میگردونه

morrteza323
چهارشنبه 21 مرداد 1388, 12:19 عصر
اگر تاریخت را به صورت شمسی ذخیره می کنی:


System.Globalization.PersianCalendar pdate = new System.Globalization.PersianCalendar();
DateTime dttavalod = pdate.ToDateTime(yearTavalod, monthTavalod,DayTavalod, 0, 0, 0, 1);
TimeSpan ts = newTimeSpan();
ts = DateTime.Now - dttavalod;
this.Text = ts.Days.ToString();


دوست عزیز از راهنمایی شما خیلی ممنون هستم فقط می شه بگید yearTavalod,monthTavalod,DayTavalod رو با چه نوع متغییر ی تعریف کردید؟اگه میشه کامل تر بگید:قلب:

happy65_sh
چهارشنبه 21 مرداد 1388, 13:21 عصر
دوست عزیز
به تابع ToDateTime نگاهی بیانداز.ورودی های این تابع به ترتیب int year,int month,int day می باشد پس yearTavalod,monthTavalod,DayTavalod ها هر سه از نوع int میباشند و نشان دهنده ی سال و ماه و روز تولد هستند(در مثال شما)
مثلا فرض کن تاریخ تولد را به صورت 20/04/1386 در دیتابیست ذخیره کردی حالا می خواهی حساب کنی شخص چند سال داره در این مثال :


yearTavalod=1386
monthTavalod=4
DayTavalod =20

برای به دست آوردنشون هم می تونی از کد زیر استفاده کنی:


int yearTavalod= int.Parse(tarikh.Substring(0, 4));
int monthTavalod= int.Parse(tarikh.Substring(5, 2));
int DayTavalod = int.Parse(tarikh.Substring(8, 2));