PDA

View Full Version : محاسبه اختلاف ساعت در يك سيستم حقوق و دستمزد



champion
شنبه 15 مرداد 1384, 19:40 عصر
باسلام به همه
لطفا به من کمک فوری کنید
من یک سیستم حقوق دستمزد دارم که در آن پرسنل من به صورت ساعتی کارکردشان ذخیره میشود.اما مشکلی دارم به این صورت که اگر در پرسنلی ساعت شروع شیفت ساعت 23 و پایان آن 6 صبح فردا باشد تعریف شود محاسبه تعداد ساعت کارکرد به چه صورت است ؟
و ثانیا این مقدار کارکرد مثلا برای روز 15/5/1384 باشد
یا 16 /5/1384
ضمنا من ساعت ها را به صورت عددی ذخیره و هنگام نمایش به ساعت تبدیل میکنم.
و در ضمن اگر فردی شیفت کاری 24 یا 48 ساعته داشته باشد چه مثلا ساعت 13 امروز تا 8 صبح فردا ؟
دوستان خواهش میکنم اگر کسی اطلاعی دارد بر من منت گذاشته و مرا راهنمایی کند.
در ضمن هر فرد به تعداد خاصی نیز مجوز های اضافه کار وکسر کار اول وقت وآخر وقت دارد.اگر یک فرد ساعت قانونی ورود او 23:30باشد و او ساعت1:30
دقیقه بامداد بیاید من چگونه اینها را مقایسه کنم؟وکارکرد اورا دربیاورم.
چون مثلا ساعت کار واقعی او 7 ساعت است ولی سیستم 17 ساعت کارکرد نمایش میدهد که منطقا غلط است.

sasan_vm
شنبه 15 مرداد 1384, 22:57 عصر
سلام
خیلی راحت می تونی از TDateTime استفاده کنی دو تا تابع اختلاف بین دو تاریخ رو بهت میده
- تابع HoursBetween اختلاف رو بر حسب ساعت اگر اختلاف کمتر از یک ساعت باشد عدد صفر رو برمیگرداند
- تابع HourSpan اختلاف رو بصورت کامل یعنی کسری از ساعت هم حساب میکنه
برای اطلاعات بیشتر به Help TDateTime مراجعه کن در ضمن TDateTime رو باید بصورت کامل ذخیره کنی
یعنی هم Date و Time

موفق و پیروز.