PDA

View Full Version : سوال: 14 روز دیگر چندم میشود فارسی نه انگلیسی!!!؟؟؟



arefba
شنبه 20 شهریور 1389, 04:24 صبح
بسمه تعالی
من خواستم از طریق زیر 14 روز آینده رو بدست بیارم که فارسی باشه اما نشد و به صورت انگلیسی بیرون میده:ناراحت:
کسی راهی بلده ؟؟؟


PersianCalendar pc = new PersianCalendar();
int year, month, day;
year = pc.GetYear(DateTime.Now);
month = pc.GetMonth(DateTime.Now);
day = pc.GetDayOfMonth(DateTime.Now);
twoweek = Convert.ToString(pc.AddDays(DateTime.Now,14));

iman_me
شنبه 20 شهریور 1389, 05:01 صبح
بفرما اينم كد
واسه اين كدش زياده كه 0 هم داره



public string NextDate()
{
D1=DateSH.GetDayOfMonth(DateTime.Now);
D2=DateSH.GetMonth(DateTime.Now);
D3=DateSH.GetYear(DateTime.Now);
if (D2<=6)
{
D1+=14;
if (D1>31)
{
D1-=31;
D2+=1;
if (D2>12)
D3+=1;
}
string[] resultdat = new string[] { D3.ToString(), D2.ToString(), D1.ToString() };
if (int.Parse(resultdat[1]) < 10)
{
m = "0" + D2;
}
else
{
m = D2.ToString();
}
if (int.Parse(resultdat[2]) < 10)
{
d = "0" + D1;
}
else
{
d = D1.ToString();
}
Result= resultdat[0] + m + d;
}
else
{
D1+=14;
if(D1>30)
{
D1-=30;
D2+=1;
if(D2>12)
D3+=1;
}
string[] resultdat = new string[] { D3.ToString(), D2.ToString(), D1.ToString() };
if (int.Parse(resultdat[1]) < 10)
{
m = "0" + D2;
}
else
{
m = D2.ToString();
}
if (int.Parse(resultdat[2]) < 10)
{
d = "0" + D1;
}
else
{
d = D1.ToString();
}
Result= resultdat[0] + m + d;
}

return Result;
}

arefba
شنبه 20 شهریور 1389, 05:15 صبح
کاش میشد اینکار رو کرد و این سال روز و ماه جدید رو تو یه اینتیجر ریخت عالی میشد
--------------------
ممنون ولی مطمئنید کار می کنه:اشتباه:

iman_me
شنبه 20 شهریور 1389, 05:28 صبح
اره 100% كار ميكنه از پروژه خودم كپي كردم

mehdi5106
شنبه 20 شهریور 1389, 06:25 صبح
من اینجوری از FarsiLibrary استفاده می کنم:

public string IncDate(string OldDate,int number,int space)
{
pd = new PersianDate(OldDate);
FarsiLibrary.Utils.PersianCalendar pds = new FarsiLibrary.Utils.PersianCalendar();
string tempString = pds.AddMonths(pd.ToDateTime(), number * space).ToPersianDate().ToString("d");
string[] datePart = new string[3];
datePart = tempString.Split(new char[] { '/' });
int year = Convert.ToInt32(datePart[0]);
int month = Convert.ToInt32(datePart[1]);
int day = Convert.ToInt32(datePart[2]);
DateTime GregorianDate = pds.ToDateTime(year, month, day, 0, 0, 0, 0);
return string.Format("{0:D2}",pds.GetYear(GregorianDate)) + "/" + string.Format("{0:D2}",pds.GetMonth(GregorianDate)) + "/" + string.Format("{0:D2}",pds.GetDayOfMonth(GregorianDate));
}

space فاصله بین روزها را مشخص می کند

mohammad272005
شنبه 20 شهریور 1389, 16:39 عصر
این (http://www.codeproject.com/KB/cs/PersianDateTime.aspx) کد خودمه. قطعا مشکلتو حل میکنه

Kurdia
شنبه 20 شهریور 1389, 16:48 عصر
چرا واسه یه کد کوچولو خودکشی می کنید؟؟
اول ببر به میلادی
بعد هم 14 روز آینده
و بعد برگردون به فارسی
امتحان کنید
این همه دنگ و فنگ نداره، برو بالا بیا پایین

arefba
شنبه 20 شهریور 1389, 19:45 عصر
میشه این خیلی راحت

PersianCalendar pc = new PersianCalendar();
int year, month, day;
DateTime twoweek = pc.AddDays(DateTime.Now,14);
year = pc.GetYear(twoweek);
month = pc.GetMonth(twoweek);
day = pc.GetDayOfMonth(twoweek);