PDA

View Full Version : مقایسه تاریخ



mnasrin
پنج شنبه 24 دی 1388, 19:32 عصر
دوستان من می خواهم دو تا تاریخ را با هم مقایسه کنم از کد زیر استفاده می کنم ولی متاسفانه جواب نمیده
دوستان لطفا راهنماییم کنید.

Int64 a1 = System.Convert.ToInt64(dGridVSearch.CurrentRow.Cel ls["kartsalamat"].Value.ToString().Replace("/", "").Replace(" ", ""));
Int64 d = System.Convert.ToInt64(getdate().Replace("/", ""));
if (d < a1)
{
MessageBox.Show("به دلیل پایان اعتبار کارت سلامت ( قبض ) صادر نمی شود");
return;
}
Int64 a2 = System.Convert.ToInt64(dGridVSearch.CurrentRow.Cel ls["moayenefani"].Value.ToString().Replace("/", "").Replace(" ", ""));
if (a2 < d)
{
MessageBox.Show("به دلیل پایان اعتبار معاینه فنی ( قبض )صادر نمی شود");
return;
}
Int64 a3 = System.Convert.ToInt64(dGridVSearch.CurrentRow.Cel ls["datehushmand"].Value.ToString().Replace("/", "").Replace(" ", ""));
if (a3 < d)
{
MessageBox.Show("به دلیل پایان اعتبار کارت هوشمند راننده( قبض )صادر نمی شود");
return;
}

FastCode
پنج شنبه 24 دی 1388, 19:47 عصر
تاریخ شمسی استفاده می کنید یا میلادی؟

slashslash2009
پنج شنبه 24 دی 1388, 20:06 عصر
شاید این تاپیک به دردت بخوره
http://barnamenevis.org/forum/showthread.php?t=199474

mnasrin
پنج شنبه 24 دی 1388, 21:48 عصر
تاریخم شمسی؟
:گریه::گریه::گریه:
مقایسه نمیشه

slashslash2009
پنج شنبه 24 دی 1388, 21:59 عصر
کدتون که معلوم نیست چی به چیه حد اقل بگید که اصلا میخواید چیکار ک چه جور مقایسه ای ؟

FastCode
پنج شنبه 24 دی 1388, 22:44 عصر
PersianCalendar.ToDateTime

mnasrin
جمعه 25 دی 1388, 21:12 عصر
می خواهم دو تا تاریخ شمسی را با هم مقایسه کنم . از این واضح تر دیگه نمی تونم بگم.

slashslash2009
جمعه 25 دی 1388, 21:22 عصر
Label1.Text = "1388/2/4";
label2.Text = "1386/5/30";
label3.Text = (DateTime.Parse(label1.Text) - DateTime.Parse(label2.Text)).TotalDays.ToString();//تعداد تمام روزها
label4.Text = (int.Parse(label3.Text) / 30).ToString();//تعداد ماه
label5.Text = (int.Parse(label3.Text) % 30).ToString();//تعداد روزاینجا دوتا تاریخ شمسی داره با هم مقایسه

if (DateTime.Parse(label1.Text) < DateTime.Parse(label2.Text))
MessageBox.Show("کوچکتر");
else
MessageBox.Show("بزرگتر");
مقدار label1,label2 کاملا مشخصه دقت کنید

AliRezaPro
جمعه 25 دی 1388, 22:30 عصر
قسمت مقایسه یاین کد رو هم نگاه کن
ببینید شما با گرید این کار رو انجام دادید،ولی من با دیتابیس
میتونی مثلا وقتی کاربر روی سلول کرد index رو بگیری و به این شیوه انجام بدی

try
{
notifyIcon1.Visible = true;
int n = 3000;
PersianCalendar pc = new PersianCalendar();
int year, month, day;
year = pc.GetYear(DateTime.Now);
month = pc.GetMonth(DateTime.Now);
day = pc.GetDayOfMonth(DateTime.Now);
string dd = year + "/" + month + "/" + day;
string[] resultdat;
resultdat = dd.Split('/');
string corr = resultdat[0] + resultdat[1] + resultdat[2];
SqlConnection conn = new SqlConnection("server=(local);database=library;trusted_connection =yes");
SqlCommand sc = new SqlCommand("select ID from [SabteAmanat] where DateBack < '" + Convert.ToInt32(corr) + "'", conn);
SqlDataReader dr;
conn.Open();
dr = sc.ExecuteReader();
if (dr.HasRows)
{
while (dr.Read())
{
int intid = Convert.ToInt32(dr[0]);
notifyIcon1.ShowBalloonTip(n, "برگشت امانت", "امروز کاربری با شماره ی آیدی " + intid.ToString() + " باید امانت خود را پس بیاورد" + "\n" + "برای ثبت بی نظمی به منوی امانت بروید", ToolTipIcon.Info);
}
}

}
catch (SqlException exp) { MessageBox.Show(exp.Message, "خطا در برقراری ارتباط با دیتابیس"); }
}

mnasrin
جمعه 25 دی 1388, 23:45 عصر
مشکلم حل شد با تشکر از slashslash2009
کد خیلی خوب و کاربردی بود زود به نتیجه رسیدم.