PDA

View Full Version : سوال: مشکل با آرگومان های DateTime



debugger
جمعه 18 فروردین 1391, 11:33 صبح
با عرض سلام

بنده کد زیر را می نویسم بدون هسچ مشکلی کار می کند

DateTime Expire = new DateTime(2012, 4, 5);
DateTime Now = new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day);

if (DateTime.Compare(Expire, Now) > 0)
{
MessageBox.Show("Expire > Now");
}
if (DateTime.Compare(Expire, Now) == 0)
{
MessageBox.Show("Expire == Now");
}
if (DateTime.Compare(Expire, Now) < 0)
{
MessageBox.Show("Expire < Now");
}

حال میخوام کد را به صورت یک تابع در بیارم و به صورت زیر نوشتم

public bool CheckExpiredAccount(int year, int month, int day)
{
bool result=false;
DateTime Expire = new DateTime(year,month,day);
DateTime Now = new DateTime(DateTime.Now.Year,DateTime.Now.Month, DateTime.Now.Day);

if (DateTime.Compare(Expire, Now) > 0)
{
//MessageBox.Show("Expire > Now");
result = true;
}
if (DateTime.Compare(Expire, Now) == 0)
{
//MessageBox.Show("Expire == Now");
result = true;
}
if (DateTime.Compare(Expire, Now) < 0)
{
//MessageBox.Show("Expire < Now");
result = false;
}
return result;
}

حال موقع اجرای برنامه وقتی این تابع را صدا میزنم به آرگومان هاش گیر میده . منم int میفرستم . تغییر دادم به string باز هم کار نکرد

و این ارور را هم میده

Year, Month, and Day parameters describe an un-representable DateTime.

با تشکر

omid_csh
جمعه 18 فروردین 1391, 12:31 عصر
سلام
ظاهرا مشکلی نداره.
کد فراخونی تابع رو بنویسید.

debugger
جمعه 18 فروردین 1391, 15:20 عصر
مشکل را پیدا کردم . بعضی از تاریخ ها را قبول نمی کنه مثلا 2013-02-30

اینو قبول نمی کنه و ارور میده . شاید مثلا یک ماهی داریم که 29 روز هست و وقتی 30 میزنیم ارور میده . من فکر می کنم خود کلاس DateTime کار Validate هم انجام میده

mohammad272005
جمعه 18 فروردین 1391, 18:25 عصر
با سلام.
دوست عزیر، جناب debugger شما سوال رو پرسیدید و خودتون به جواب رسیدید. کار پسندیده شما این بود که جواب بدست آمده رو برای استفاده دیگرون هم قرار دادید. اگه اینکار رسم بشه خیلی عالیه. درسته که من این مشکل رو نداشتم، ولی شاید کسی باشه که با این مشکل برخورد کنه و با جوابی که خود شما به پُستتون دادید. مشکلش مرتفع بشه. بابت این کار پسندیده شما، از شما ممنونم.