PDA

View Full Version : نمايش تاريخ روز قبل (ميلادي)



maisam57
دوشنبه 04 آذر 1387, 10:07 صبح
سلام
جستجو كردم در مورد اين سوال چيزي پيدا نكردم يا اگه هم بوده توي سرچ وارد نكردم
چطوري تاريخ روز قبل رو توي يك متغير بريزم بطور مثال اگه امروز 2008/11/24 من ميخوام 2008/11/23 رو توي يك متغير بريزم
با تشكر

shervin farzin
دوشنبه 04 آذر 1387, 10:21 صبح
سلام
اگه متغييري كه تاريخ امروز رو نگه ميداره از نوع Date باشه كه فقط كافيه مثل متغيير عددي مقدار
عددي 1 رو ازش كم كني ، اگه تاريه رو توي يك متغيير String نگه ميداري اول بايد با تابع
StrToDate به يه مقدار قابل ذخيره در نوع داده Date تبديلش كني و بعد عدد 1 رو ازش كم كني
دست آخر با تابع DateToStr به مقدار رشته اي تبديلش كن .
نمونه كد :

procedure TForm1.FormCreate(Sender: TObject);
begin
edit1.Text:=DateToStr(Date);
end;

procedure TForm1.Button1Click(Sender: TObject);
var
x:TDate;
begin
x:=StrToDate(edit1.Text);
x:=x-1;
edit2.Text:=DateToStr(x);
end;


موفق باشيد .

maisam57
دوشنبه 04 آذر 1387, 10:26 صبح
بعد اگه روز 2008/12/01 شد چي اونو چكار كنم چطوري روز قبلش كه 2008/11/30 بدست بيارم

shervin farzin
دوشنبه 04 آذر 1387, 11:06 صبح
عملگر تفريق براي تاريخ هاي ميلادي طوري طراحي شده كه سال كبيسه و ماههاي 31 روزه
رو هم پيش بيني ميكنه پس تا وقتي كه عمل تفريق رو براي ماههاي ميلادي انجام بدين فكر
نميكنم اشتباه جواب بده و مشكلي داشته باشيد .
تشخيص اول ماه هم كار چندان سختي نيست كه در اين عملگر لحاظ شده . بنابر اين شما فقط
كافيه همون مقدار 1 رو ازش كم كنيد .
موفق باشيد .

Hamid_PaK
سه شنبه 05 آذر 1387, 07:33 صبح
یونیت DateUtils رو به Uses اضافه کنید انواع توابع عملیاتی مریوط به تاریخ را خواهید داشت:

IncDay(Now, 1)
برای تفریق نیز

IncDay(Now, -1)

یا حق ...