PDA

View Full Version : انجام جمع و تفریق روی دو تاریخ



rsheytoonak
جمعه 31 خرداد 1387, 18:49 عصر
سلام
من دو تا تاریخ از سیستم گرفتم حالا می خوام این دو تا تاریخ رو از هم کم کنم چکار باید بکنم

vcldeveloper
جمعه 31 خرداد 1387, 22:51 عصر
من دو تا تاریخ از سیستم گرفتم حالا می خوام این دو تا تاریخ رو از هم کم کنم چکار باید بکنم
اگر از نوع TDateTime یا TDate هستند، می تونید بصورت یک جمع و تفریق ساده این کار را انجام بدید. مثلا:

MyDate := Date1 - Date2;

rsheytoonak
شنبه 01 تیر 1387, 14:09 عصر
من یه همچین کدی نوشتم ولی جواب نمی ده جوابش غلط در میاد
edit3.Text:=(DateToStr(StrToDate(edit1.Text)-StrToDate(Edit2.Text)) );

B-Vedadian
شنبه 01 تیر 1387, 14:29 عصر
بخش ساعت و تاریخ تو نوع TDateTime متفاوت کد میشن. بنا بر این برای کار کردن باهاش باید به این موضوع دقت کنی.

هر جند حدس می زنم داری تاریخ رو شمسی وارد می کنی و مشکل همینه.

rsheytoonak
شنبه 01 تیر 1387, 14:38 عصر
http://H:\D4\t.png من تاریخ میلادی گذاشتم

Hsimple11
شنبه 01 تیر 1387, 16:19 عصر
آره مشکل داره. شاید راه حل دیگه ای داره. شما میخواهید تعداد روزهای بین این دو تاریخ را بدست بیاورید؟ هرچند اگر از تاریخ های شمسی و حتی میلادی استفاده میکنید کامپوننت راهکارهای تاریخ هجری شمسی انجام انواع توابع را بر روی تاریخ ها امکان پذیر می سازد. نمی دونم چرا اساتید گفتند بی ربطه...

موفق باشید.....

vcldeveloper
شنبه 01 تیر 1387, 16:35 عصر
مشکلی نداره، من نمی دونم "جوابش غلط میاد" یعنی چی، چون مشخص نکردید انتظار چه جوابی را داشتید و چه جوابی گرفتید.
نوع داده TDateTime, TDate, TTime همه یک عدد اعشاری هستند. بخش صحیح این عدد مشخص کننده تعداد روزهای تاریخ از تاریخ مبدا آخرین روز سال 1899 میلادی هست، و بخش اعشاری آن هم مشخص کننده زمان. تفریق و جمع آنها هم به سادگی تفریق و جمع اعداد اعشاری هست؛ مثلا اگر یک تاریخی داشته باشید و ازش یک واحد کم کنید، یک روز ازش کم میشه.
اگر میخواید تعداد روزها، ماهها، سالها، ساعت ها و... بین دو تاریخ را بدست بیارید، یا هرگونه عملیات دیگه ایی روی تاریخ و ساعت انجام بدید، یونیت DateUtils دلفی انواع اقسام توابع کار با تاریخ و ساعت را در خود دارد.



هرچند اگر از تاریخ های شمسی و حتی میلادی استفاده میکنید کامپوننت راهکارهای تاریخ هجری شمسی انجام انواع توابع را بر روی تاریخ ها امکان پذیر می سازد. نمی دونم چرا اساتید گفتند بی ربطه...بی ربط هست، چون از یک طرف کاربر میگه از تاریخ میلادی استفاده میکنه، و از طرفی برای کار با تاریخ میلادی خود دلفی یک یونیت کامل ارائه میکنه، پس نیازی نیست که برای همچین کاری کاربر یک کامپوننت تجاری خریداری کنه که در زمینه تاریخ میلادی هیچ مزیتی نسبت به دلفی نداره.

saeed6162
شنبه 11 اردیبهشت 1389, 18:35 عصر
سلام دوست عزیز
می دونم که الان برای جواب دادن این پست خیلی دیر شده ، ولی من همین الان سئوال شما رو دیدم و چون این سئوال برای خودم هم پیش اومده بود و جوابش رو هم پیدا کردم لازم دونستم که راه حلم رو برای شما هم بگذارم.
برنامه ای مورد نظر رو نوشتم که کاملا صحیح و دقیق اختلاف دو تاریخ شمسی رو با احتساب استثناها به شما نشون می ده ، که اونو براتون می ذارم
موفق باشید.

ahmadbh
شنبه 11 تیر 1390, 12:40 عصر
گر بخواهيم كه تاريخ را با عدد جمع يا تفريق كنيم چيكار بايد بكنيم
لطفا نمونه سورس را بگذاريد
با تشكر

Mask
شنبه 11 تیر 1390, 20:03 عصر
منظورتون چیه؟
یعنی تاریخ 1390/12/12 رو به اضافه 25 روز کنید؟

soft-c
شنبه 11 تیر 1390, 20:14 عصر
سلام دوست عزیز
می دونم که الان برای جواب دادن این پست خیلی دیر شده ، ولی من همین الان سئوال شما رو دیدم و چون این سئوال برای خودم هم پیش اومده بود و جوابش رو هم پیدا کردم لازم دونستم که راه حلم رو برای شما هم بگذارم.
برنامه ای مورد نظر رو نوشتم که کاملا صحیح و دقیق اختلاف دو تاریخ شمسی رو با احتساب استثناها به شما نشون می ده ، که اونو براتون می ذارم
موفق باشید.
سلام
برنامه جالبیه ولی هر چی اجرا می کنم پیغام می دهد که تاریخ invalid است

nsco_nsco
یک شنبه 12 تیر 1390, 20:58 عصر
سلام به نظر من بیا از جمع روزها استفاده کن که برای شمسی هم خیلی اسان هست مثلا روز یک اردیبهشت می شود روز سی و دوم و این طوری دو تاریخ رو به روز و پس از ان این دو عدد رو با هم جمع و پس از ان تبدیل به تاریخ کن البته شاید بگی برای سال چه کنم اون هم با جمع و تفریق ساده می شود انجامش داد مثلا فاصله دو سال 1360 و 1390 کم می کنی بینش به دست میاد امیدوارم موفق باشی ( بهتره به جای استفاده از پلاگین با برنامه نویسی خودت رفعش کنی ) موفق باشی :قلب:

eshge89
شنبه 22 تیر 1392, 10:23 صبح
سلام دوستان عزيز
من هم همين مشكل را دارم مي خوام عدد30 را از تاريخ شمسي 1392/04/22 كم كنم ؟؟اما نمي تونم
ممنون مي شم يك نمونه كد تست شده در اختيارم بگذاريد.
خيلي ضروري است
لطفا راهنماييم كنيد

یوسف زالی
شنبه 22 تیر 1392, 12:53 عصر
پست تکراری ندید.
تو پست قبلی تون راهنمایی کردم.

saeed6162
چهارشنبه 30 اردیبهشت 1394, 13:53 عصر
سلام
برنامه جالبیه ولی هر چی اجرا می کنم پیغام می دهد که تاریخ invalid است


لطفاً قالب تاریخ سیستم خود را برابر با "تقویم میلادی محلی شده" (بصورت yyyy/MM/dd) قرار دهید. در غیر اینصورت برنامه به درستی عمل نخواهد کرد.