PDA

View Full Version : تبدیل عدد به تاریخ



project80888
جمعه 06 دی 1392, 15:13 عصر
سلام دوستان من نیازه به یه کدی دارم که عدد به تاریخ شمسی تبدیل کنه
مثلا اگه عدد 35 دریافت کرد
خروجی اون بشه 1392/02/04
فکر کنم منطورم متوجه شدید یه عدد دریافت کنه و در سال جاری تاریخ معادلشو بر گردونه

کد میلادی دارم ولی نمی دونم اون چه جوری واسه تاریخ شمسی استفاده کنم






public static DateTime GetDay(int numDays)
{

DateTime baseDate = new DateTime(2013, 1, 1);
DateTime newDate = baseDate.AddDays(numDays);

return newDate;


}

sagggad
جمعه 06 دی 1392, 15:44 عصر
سلام دوست من.35 به اون تاریخ چه ارتباطی داره؟!!:متعجب:

project80888
جمعه 06 دی 1392, 18:53 عصر
سی و پنجمین روز سال برابر این تاریخ است !

Share & Learn
جمعه 06 دی 1392, 19:38 عصر
سلام
شاید زیاد اصولی نیاشه ولی کار می کنه


System.Globalization.PersianCalendar pc = new System.Globalization.PersianCalendar();
public void _GetDay(int numDays)
{
DateTime baseDate = new DateTime(pc.GetYear(DateTime.Now), 1, 1);
DateTime newDate = baseDate.AddDays(numDays);
MessageBox.Show(newDate.Year.ToString("00 / ") + newDate.Month.ToString("00 / ") + newDate.Day.ToString("00"));
}

project80888
جمعه 06 دی 1392, 20:21 عصر
ممنون ولی فکر کنم اینجوری با مشکل مواجعه بشیم
راه حل دیگه ای به ذهنتون نمیرسه ؟
یه سوال دیگه داشتم
من در برنامه ایی که دارم با اعداد کار می کنم یعنی عدد 1 روز اول سال و عدد 365 روز آخر سال
حالا می خوام اگر کابر تاریخ 1392/04/02
را انتخاب کردد خروجی عدد 35 بر گردونه (35 روز از ابتدای سال)
در این مورد چیزی
به ذهنتون نمیرسه
؟؟؟

project80888
جمعه 06 دی 1392, 20:27 عصر
سوالم بذارید کلی بگم
من یه فایل XML دارم که در واقع برای هر روز از سال جاری یه سری ورودی داره
حالا این امکان وجود داره که کاربر از یه تاریخ تا یه تاریخ دیگر مقدارشو عوض کنه
مثلا از تاریخ 1392/10/10 تا تاریخ 1392/12/22
برای هر روز یه نود تعریف کردم

khokhan
جمعه 06 دی 1392, 22:57 عصر
ممنون ولی فکر کنم اینجوری با مشکل مواجعه بشیم
راه حل دیگه ای به ذهنتون نمیرسه ؟
یه سوال دیگه داشتم
من در برنامه ایی که دارم با اعداد کار می کنم یعنی عدد 1 روز اول سال و عدد 365 روز آخر سال
حالا می خوام اگر کابر تاریخ 1392/04/02
را انتخاب کردد خروجی عدد 35 بر گردونه (35 روز از ابتدای سال)
در این مورد چیزی
به ذهنتون نمیرسه
؟؟؟
منظورتون چیزی شبیه این هست؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟:ل خند::لبخند: لینک (http://mistupid.com/calendar/dayofyear.htm) یه یه چیزی مثل این لینک (http://www.mbari.org/staff/coletti/doytable.html)
(http://mistupid.com/calendar/dayofyear.htm)

rahnema1
جمعه 06 دی 1392, 23:25 عصر
سلام
اینجوری میشه


System.Globalization.PersianCalendar pc = new System.Globalization.PersianCalendar();
string tarikh="04/02/92";
string[] tarikh1=tarikh.Split('/');
MessageBox.Show(pc.GetDayOfYear(pc.ToDateTime(int. Parse(tarikh1[2]),int.Parse(tarikh1[1]),int.Parse(tarikh1[0]),0,0,0,0)).ToString());
int sal=pc.GetYear(DateTime.Now);
DateTime dt =pc.ToDateTime(sal,1,1,0,0,0,0).AddDays(35-1);
MessageBox.Show(pc.GetDayOfMonth(dt).ToString("00/")+pc.GetMonth(dt).ToString("00/")+sal);