PDA

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



majid_i68
جمعه 02 اسفند 1392, 15:53 عصر
سلام دوستان
من میخوام اولین روز ماه شمسی رو بدست بیارم.. با ماه میلادی مشکلی ندارم

مثلا
DateTime objDate = new DateTime(2014, 1, 1);

این رو به شمسی تبدیل میکنم .. میشه ..چهارشنبه 11 دی 1392
من میخوام روزی که ماه دی در این سال با اون شروع شده رو بدسیت بیارم ..بعد روزهاش رو توی یه تیبیل یا دیتاگرید نشون بدم..لطفا اساتید کمک کنند

Mahmoud.Afrad
جمعه 02 اسفند 1392, 16:27 عصر
کافیه آرگومان چهارم رو هم مقدار بدی در این حالت تاریخ شمسی به میلادی تبدیل میشه و میتونی روز هفته رو بدست بیاری

DateTime dt = new DateTime(1392, 12, 1, new PersianCalendar());
MessageBox.Show(dt.DayOfWeek.ToString());

majid_i68
جمعه 02 اسفند 1392, 16:34 عصر
ای ول داداش دمت گرم...
حالا یه سوال.. من یه جدول ساختم که میخوام هر کدام از روزها متناسب با روز هفته در جدول قرار بگیرند.. میشه اینم برام یه توضیحی بدید

linux
جمعه 02 اسفند 1392, 18:35 عصر
ای ول داداش دمت گرم...
حالا یه سوال.. من یه جدول ساختم که میخوام هر کدام از روزها متناسب با روز هفته در جدول قرار بگیرند.. میشه اینم برام یه توضیحی بدید
آقا مجید سوال من را جواب میدادی چند پست قبل این تا حالا حل شده بود

public static int[,] Get(int monthStartDay)
{
var monthMatrix = new int[6, 7];
var row = 0;
var col = 0;

for (int day = 1; day <= 31; day++)
{
row =(int)Math.Ceiling( (day + monthStartDay) / 7.0);
col = (day + monthStartDay) % 7 == 0 ? 7 : (day + monthStartDay) % 7;
monthMatrix[row-1, col - 1] = day;
}
return monthMatrix;
}
این کد یک آرایه ۶در ۷ می سازد ۷ ستون و ۶ ردیف . روز شروع هفته را هم از شما می گیره شنبه =۰ بعد این آرایه را پر می کنه و بر می گردونه
یک کمی مساله را با دقت نگاه کنی و قلم و کاغذ بیاری می تونی حل کنی.

majid_i68
شنبه 03 اسفند 1392, 09:19 صبح
آقا مجید سوال من را جواب میدادی چند پست قبل این تا حالا حل شده بود

public static int[,] Get(int monthStartDay)
{
var monthMatrix = new int[6, 7];
var row = 0;
var col = 0;

for (int day = 1; day <= 31; day++)
{
row =(int)Math.Ceiling( (day + monthStartDay) / 7.0);
col = (day + monthStartDay) % 7 == 0 ? 7 : (day + monthStartDay) % 7;
monthMatrix[row-1, col - 1] = day;
}
return monthMatrix;
}
این کد یک آرایه ۶در ۷ می سازد ۷ ستون و ۶ ردیف . روز شروع هفته را هم از شما می گیره شنبه =۰ بعد این آرایه را پر می کنه و بر می گردونه
یک کمی مساله را با دقت نگاه کنی و قلم و کاغذ بیاری می تونی حل کنی.

تشکر..راستش من نفهمیدم سوال شما چی بود..
من به این صورت متد رو فراخوانی میکنم
int[,] days = Get(0);
حالا چطور باید مقادری که متد در آرایه دوبعدی ذخیره میکنه رو فراخوانی کنم در دیتا گرید... در ضمن در قسمت
day <= 31 خب بعضی ماهها که 30 روز هستند یا 29 روز چی میشه..بجای 31 طول روزهای هر ماه رو قرار ندهم؟

majid_i68
دوشنبه 05 اسفند 1392, 13:19 عصر
کسی نیست از این متد استفاده کرده باشه.. یه توضیحی بده