PDA

View Full Version : سوال: بدست آوردن تاریخهای مابین دو تاریخ شمسی



امیر مهرشاد
جمعه 24 آبان 1392, 03:06 صبح
سلام جستجو کردم موارد اختلاف تاریخ ها و سایر محاسبات رو دیدم ولی راهی که تاریخهای بین دو تاریخ شمسی رو برگردونه پیدا نکردم عزیزانی که میتونند لطفا راهنمایی کنن

مثلا این دو تاریخو بهش بدیم 1392/05/29 تا 1392/06/01

چیزی که برگشت داده میشه یه چنین خروجی داشته باشه :

1392/05/29
1392/05/30
1392/05/31
1392/06/01

ممنون از همه :متفکر:

rahnema1
جمعه 24 آبان 1392, 06:52 صبح
112821با فرض وجود یک دکمه و یک richtext

DateTime PersianDateStringtoDateTime (string PersianDateString)
{
string[] mydate=PersianDateString.Split('/');
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]);
return pc.ToDateTime(year,month,day,0,0,0,0);
}
string DateTimetoPersianDateString(DateTime dt1)
{
System.Globalization.PersianCalendar pc = new System.Globalization.PersianCalendar();
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());
return year1+"/"+month1+"/"+day1;
}
void Button1Click(object sender, EventArgs e)
{
string d1="92/05/29";
string d2="92/06/01";
DateTime dtt1=PersianDateStringtoDateTime(d1);
DateTime dtt2=PersianDateStringtoDateTime(d2);
for (int i = 0; i <= dtt2.Subtract(dtt1).Days; i++) {
richTextBox1.Text+=DateTimetoPersianDateString(dtt 1.AddDays(i))+"\n";
}
}