PDA

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



korosh00
چهارشنبه 23 دی 1394, 09:32 صبح
سلام
من امروز رو میگیرم با datetime.now()
بعد یک ماه بهش اضافه میکنم .
این کار کلا تو تاریخ میلادی الان داره انجام میشه .

خوب حالا من این ماه میلادی رو وقتی به شمسی تبدیل می کنم تو روز مشکل دارم . یعنی یک روز یا دو روز جلو میره ؟
چکار باید بکنم ؟
اینم کد تبدیل من از میلادی به شمسی :

System.Globalization.PersianCalendar pc = new System.Globalization.PersianCalendar();

string Year, Day, Month;
Year = pc.GetYear(dateTimePicker4.Value).ToString();
Month = pc.GetMonth(dateTimePicker4.Value).ToString();
Day = pc.GetDayOfMonth(dateTimePicker4.Value).ToString() ;
if (Day.Length == 1)
{
Day = pc.GetDayOfMonth(dateTimePicker4.Value).ToString() .Insert(0, "0");
}
if (Month.Length == 1)
{
Month = pc.GetMonth(dateTimePicker4.Value).ToString().Inse rt(0, "0");
}
textBox6.Text = Year + '/' + Month + '/' + Day;

hi level hdd
چهارشنبه 23 دی 1394, 10:11 صبح
DateTime t = DateTime.Now;
DateTime newDate= t.AddMonths(1);

اول تو ماه میلادی یک روز اضافه کن بعد به شمسی تبدیلش کن

asghar2008
چهارشنبه 23 دی 1394, 10:15 صبح
سلام

با چه روشی یک ماه اضاف میکنی؟؟

من یه دکمه دیگه رو فرم گذاشتم که با هربار کلیک 1 ماه به مقدار datetimepicker اضافه میکنه( بعد مقدار داخل datetimepicker رو به شمسی تبدیل میکنه)


dateTimePicker6.Value =dateTimePicker6.Value.AddMonths(1);



تبدیل تاریخ میلادی به شمسی هم درست کار میکنه.. ایرادی نداره

korosh00
چهارشنبه 23 دی 1394, 11:19 صبح
DateTime t = DateTime.Now;
DateTime newDate= t.AddMonths(1);

اول تو ماه میلادی یک روز اضافه کن بعد به شمسی تبدیلش کن

خوب همین کار رو کردم دیگه اول تاریخ میلادی رو یک ماه مثل شما افزودم . بعد همین رو به شمسی تبدیل کردم یک روز و در بعضی ماهها دو روز میره جلو.
منظورم اینه اون یک ماهی که من اضافه میکنم به تاریخ میلادی دو روز میره جلوتر و الا تبدیل من به شمسی مشکلی نداره .

ژیار رحیمی
چهارشنبه 23 دی 1394, 12:07 عصر
اگر از کلاس PersianCalendar برای تبدیل استفاده کردی لازم نیست به میلادی و اضافه کردن ماه به آن صورت گیرد و مجدد به تاریخ شمسی تبدیل شود.خود کلاس PersianCalendar دارای متد افزودن ماه به تاریخ هست .

korosh00
پنج شنبه 24 دی 1394, 07:02 صبح
سلام میشه یک نمونه بزارید که یک ماه به تاریخ شمسی اضافه کرده باشه ؟
متشکر

Mahmoud.Afrad
پنج شنبه 24 دی 1394, 12:15 عصر
از متد مناسب برای افزودن ماه و یا روز استفاده کنید

PersianCalendar pc = new PersianCalendar();
DateTime nextDate = pc.AddMonths(DateTime.Today, 1);
string shamsiNextDate = string.Format("{0}/{1}/{2}",
pc.GetYear(nextDate),
pc.GetMonth(nextDate).ToString("00"),
pc.GetDayOfMonth(nextDate).ToString("00"));
MessageBox.Show(shamsiNextDate);