PDA

View Full Version : چگونگی محاسبه فاصله زمانی بین دو تاریخ



jandaghian
سه شنبه 22 شهریور 1384, 08:16 صبح
با عرض خسته نباشید و آرزوی موفقیت برای شما مثلا میخواهم بدانم از 22/06/84 ساعت 23:56 تا 24/06/84 ساعت 06:08 چند ساعت و چند دقیقه است؟
اگه کمکم کنید ممنون میشم.

vcldeveloper
پنج شنبه 24 شهریور 1384, 02:58 صبح
در یونیت DateUtils توابع مختلفی برای کار با تاریخ و ساعت وجود داره، از جمله توابعی مثل DaysBetween یا HoursBetween که فاصله بین دو تاریخ را بصورت روز، ساعت و... بر می گردونند. البته برای استفاده از این توابع باید اول تاریخ شمسی را به میلادی تبدیل کنید.

jandaghian
شنبه 26 شهریور 1384, 10:10 صبح
از راهنماییتون ممنون ولی با توجه به اون چرا این تکه کد بعد از اینکه DateUtils را در لیست uses اضافه کردم کار نمیکنه ؟ و جواب 12:00:00ق.ظ. میدهد؟

procedure TloginF.BitBtn3Click(Sender: TObject);
var
TimeNow, TimeThen: TDateTime;


begin
TimeThen := StrToTime('02:00:00');
TimeNow := StrToTime('01:00:00');
ShowMessage(TimeToStr(MinutesBetween(timethen,time now)));
end;

vcldeveloper
یک شنبه 27 شهریور 1384, 02:35 صبح
برای اینکه خروجی تابع MinutesBetween از نوع Int64 هست، نه TDateTime.
شما باید می نوشتید:


ShowMessage(IntToStr(MinutesBetween(TimeNow,TimeTh en)));

jandaghian
یک شنبه 27 شهریور 1384, 08:19 صبح
ممنون از لطفتون

Dolphin
یک شنبه 01 آبان 1384, 22:50 عصر
دمت گرم ولی بازم برای تاریخ شمسی گیر میده

بهمن بهار
جمعه 11 آذر 1384, 12:37 عصر
با عرض سلام واحترام
یک تابع بنویس خیال خودت را راحت کن چون تاریخ مثلا 1384 در دلفی یعنی 1384 میلادی پس خطا میگیرد
یک تابع بنویس که تعداد روزها و تعداد روزی را از یک تاریخ معین (حداقل تاریخ مورد نیاز خودت مثل 1370 ) گذشته را بر گرداند میتوانی ساعت و دقیقه را هم به آن اضافه کنی
یعنی با گرفتن تاریخ و ساعت مقدار بازگشتی از تابع تعداد دقایق یا ساعات و یا روزهای گذشته از آن تاریخ باشد
(البته برای تعدا دقایق ممکن است عدد بزرگی شود ) روز بهتر است
بعد این دو تاریخ و ساعت را از هم کم کنی
این تابع بخصوص برای روز خیلی جاهای دیگر هم به درد میخورد برای من که خیلی مفید بوده