PDA

View Full Version : نمایش اختلاف دو تاریخ به صورت تاریخ کامل



xiox_ziza
چهارشنبه 10 شهریور 1389, 11:42 صبح
کسی میدونه چطوری میشه این کارو کرد:
Date1 - Date2 => Date
می خوام خروجی به صورت تاریخ بیان بشه نه فقط روز.

javad_r_85
چهارشنبه 10 شهریور 1389, 11:52 صبح
TimeSpan ts = dateTo - dateFrom;
int days = ts.Days;

xiox_ziza
چهارشنبه 10 شهریور 1389, 12:03 عصر
این می دونم ولی می خوام به تاریخ تبدیل کنم مثلا:
1 سال و 3 ماه و 8 روز اختلاف

javad_r_85
چهارشنبه 10 شهریور 1389, 12:38 عصر
شما می تونید تاریخها را مجزا کنید یعنی سال و روز و ماه آن را جدا کرده و از هم کم کنید .البته خودم تست نکردم و مطمئن نیستم جواب بده ولی خوب به امتحانش می ارزه

xiox_ziza
چهارشنبه 10 شهریور 1389, 13:08 عصر
:عصبانی++: این کارو کردم ولی نمی شه چون یک ماه تعریف مشخصی نداره

Salar Ashgi
چهارشنبه 10 شهریور 1389, 13:28 عصر
خودتون میتونید یه متود واسش بنویسید ، خیلی ساده :



string Sub_Date(DateTime dt1, DateTime dt2)
{

TimeSpan ts = dt2.Subtract(dt1);
int year = 0, month = 0, day = 0;
int res = (int)(ts.TotalDays);
year = res / 365;
res -= (year * 365);
month = res / 30;
res -= (month * 30);
day = res;
//=============
return year.ToString() + " year , " + month.ToString() + " month , " + day.ToString() + " day ! \n" + "Total Days : " + ts.TotalDays.ToString();
}


فقط دقت کنید که من روز های هرماه رو 30 روز فرض کردم !
اینم خروجی یه اجرا از برنامه :



private void button1_Click(object sender, EventArgs e)
{

DateTime dt1 = new DateTime(2010, 7, 26, 0, 0, 0, 0);
DateTime dt2 = new DateTime(2010, 9, 1, 0, 0, 0, 0);
MessageBox.Show(Sub_Date(dt1, dt2));
}

http://www.barnamenevis.org/forum/attachment.php?attachmentid=55159&stc=1&d=1283333271

موفق باشید ./

xiox_ziza
پنج شنبه 11 شهریور 1389, 13:27 عصر
این فرمول دقیق نیست سال کبیسه و روزهای ماه متغیر است این راه رو من روز اول رفتم دقیق نیست

Salar Ashgi
پنج شنبه 11 شهریور 1389, 14:14 عصر
این فرمول دقیق نیست سال کبیسه و روزهای ماه متغیر است این راه رو من روز اول رفتم دقیق نیست

دوست عزیز ، این یه ایده بود که شما روال کار دستتون بیاد ،
ولی متاسفانه تو این بخش اکثر کاربران نمیخوان کوچکترین
زحمتی به خودشون بدن و میگن " هلو ، بپر تو گلو " و همیشه
کد آماده رو درخواست می کنند ، نه روش حل رو !
حالا قصد ما نشان دادن راه است تا در چاه نیافتیم ، امید است
دوستان مثبت از حرفم برداشت کنند !

بررسی کبیسه بودن سال شمسی :



bool Year_isKabise(int year)
{
int res = year % 33;
if (res == 1 || res == 5 || res == 9 || res == 13 || res == 17 || res == 22 || res == 26 || res == 30)

return true;
else
return false;
}