صفحة 1 من 2 12 الأخيرةالأخيرة
النتائج 1 إلى 15 من 16

الموضوع: كيف انقص وقت من وقت

  1. #1
    عضو نشيط جدا
    تاريخ التسجيل
    Jan 2008
    المشاركات
    392

    كيف انقص وقت من وقت



    السلام عليكم

    اخواني اريد ان اسال عن انقاص وقت من وقت طبعا الوقت بتخزن في قاعدة البيانات بالكود التالي
    كود PHP:
    'H:i:s A',time()) 
    اريد كود ينقص الوقت من وقت آخر مثال :...........

    الوقت الاول
    13:20:27 PM
    الوقت الثاني
    18:29:37 PM

    اريد ان يكون الناتج
    05:09:10







  2. #2


    كود PHP:
    $o=mktime(13,20,27);
    $n=mktime(18,29,37);
    echo 
    date("h:m:s",$o-$n); 






    __________________
    عدت
    اقتراحاتكم -> www.elbachiri.com

  3. #3
    عضو نشيط جدا
    تاريخ التسجيل
    Jan 2008
    المشاركات
    392


    اخي لقد استخدمت الكود

    كود PHP:
    <?php
    $o
    =mktime(13,20,27);
    $n=mktime(18,29,37);
    echo 
    date("h:m:s",$o-$n);  
    ?>
    لكن ظهر الخطاء
    كود PHP:

    Warning
    date() [function.date]: Windows does not support dates prior to midnight (00:00:00), January 11970 in c:\***\***\time.php on line 4 
    اخي طيب اذا كان الوقت تعدى اليوم كامل مثلا :....
    الوقت الاول : 01:29:27
    الوقت الثاني : 03:28:37

    يعني ان الوقت الثاني من اليوم الثاني

    في هذه الحالة يجب استخدام التاريخ اليس كذلك ... لذلك قمت بوضع كود ادخال التاريخ و الوقت معاً
    كود PHP:
    date('Y-m-d H:i:s',time()) 
    ويخزن في قاعدة البيانات باستخدام timestamp

    في هذه الحالة كيف انقص الوقت مثلا :...
    الوقت الاول : 2009-03-10 22:00:04
    الوقت الثاني : 2009-03-15 21:10:14

    من المفترض انه يظهر الناتج
    25:10:10
    او باستخدام اليوم
    1day 01:10:10

    هل بالامكان عمل ذلك





    التعديل الأخير تم بواسطة manindark ; 10-03-2009 الساعة 11:10 PM

  4. #4


    عندي تعمل بشكل ممتاز
    النتيجة 07:12:50

    على php5





    __________________
    عدت
    اقتراحاتكم -> www.elbachiri.com

  5. #5
    عضو نشيط جدا
    تاريخ التسجيل
    Jan 2008
    المشاركات
    392


    انا استخدم php4

    على العموم اخي لقد وجدت كلاس لعمل الفرق الذي اريده

    و لكن يظهر لي انه يوجد خطاء عند تطبيق الكلاس

    رسالة الخطاء
    كود PHP:
    Parse errorparse errorunexpected T_STRINGexpecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or '}' in c:\camel\www\date_difference\date_difference_class.php on line 4 
    الكلاس في المرفقات





    الملفات المرفقة الملفات المرفقة

  6. #6


    الكلاس يعمل عندي بشكل ممتاز

    الكلاس يعمل فقط على php5
    ولكن اذا اردت ان يعمل على php4 غير كلمة public الى var
    و __construct الى date_difference

    انصحك ان تنتقل الى php5





    __________________
    عدت
    اقتراحاتكم -> www.elbachiri.com

  7. #7
    عضو نشيط جدا
    تاريخ التسجيل
    Jan 2008
    المشاركات
    392


    اخي لقد غيرت كلمة public الى var و __construct الى date_difference

    ويظهر لي على المتصفح

    0 days 0 hours 0 minutes 0 seconds

    مع انه ملف sample.php يوجد به تاريخين و لكن لم يعمل يظهر جميعها اصفار

    الكلاس بعد التغيير
    كود PHP:
    <?php
    class date_difference
    {
    var 
    $date1$date2$a$days$hours$minutes$seconds;

    function 
    date_difference($date_$date__)
    {
    $this->date1 $date_;
    $this->date2 $date__;
    $this->days intval((strtotime($this->date1) - strtotime($this->date2)) / 86400);
    $this->= ((strtotime($this->date1) - strtotime($this->date2))) % 86400;
    $this->hours intval(($this->a) / 3600);
    $this->= ($this->a) % 3600;
    $this->minutes intval(($this->a) / 60);
    $this->= ($this->a) % 60;
    $this->seconds $this->a;
    }
    }
    ?>
    ملف sample.php
    كود PHP:
    <?php
    include('date_difference_class.php');
    //                            --  first parameter must be greater date --
    $result = new date_difference("01.01.2007 11:02:02""20.12.2006 10:00:00");
    echo 
    $result->days ' days ' $result->hours ' hours ' $result->minutes ' minutes ' $result->seconds ' seconds';
    ?>







  8. #8


    جرب تغيير هذا السطر
    كود PHP:
    var $date1$date2$a$days$hours$minutes$seconds
    الى

    كود PHP:
    var $date1;
    var 
    $date2;
    var 
    $a;
    var 
    $days;
    var 
    $hours;
    var 
    $minutes;
    var 
    $seconds






    __________________
    عدت
    اقتراحاتكم -> www.elbachiri.com

  9. #9
    عضو نشيط جدا
    تاريخ التسجيل
    Jan 2008
    المشاركات
    392


    اخي عبد الواحد البشيري

    نفس المشكلة

    يظهر لي على المتصفح

    0 days 0 hours 0 minutes 0 seconds






  10. #10
    عضو نشيط جدا
    تاريخ التسجيل
    Jan 2008
    المشاركات
    512


    ممكن تجرب هذا الكود

    كود PHP:
    $tstamp1 strtotime('2009-03-15 21:10:14');
    $tstamp2 strtotime('2009-03-10 22:00:04');


    $seconds   $tstamp1 $tstamp2;
    $days      = (int)($seconds 86400);
    $seconds  %= 86400;
    $hours     = (int)($seconds 3600);
    $seconds  %= 3600;
    $minutes   = (int)($seconds 60);
    $seconds  %= 60;

    if(
    $days 0$output $days.' days ';
    if(
    $hours 0$output .= $hours.' hours ';
    if(
    $minutes 0$output .= $minutes.' minutes ';
    echo (
    $seconds 0) ? $output .((int)$seconds) .' seconds' $output






    التعديل الأخير تم بواسطة mr_m ; 11-03-2009 الساعة 10:14 AM سبب آخر: اضافة
    __________________
    محمد حمود.

  11. #11
    عضو نشيط جدا
    تاريخ التسجيل
    Jan 2008
    المشاركات
    392


    اخي mr_m

    كود رائع جدا ...

    ولكن عندي سؤال في التحقق

    عند استخدام التاريخ بهذا الشكل ....
    كود PHP:
    $tstamp1 strtotime('2009-03-16 13:10:14');
    $tstamp2 strtotime('2009-03-15 20:00:04'); 
    الفرق بينهما يكون .....
    0 days 17 hours 10 munites 10 seconds

    وهو صحيح و لكن يظهر لي ان عدد الايام 0 و انا اريده عندما يكون عدد الايام صفر فانه لا يظهره

    اي يصبح الناتج .....
    17 hours 10 munites 10 seconds

    هل يمكن التعديل على الكود و اكون لك من الشاكرين






  12. #12
    عضو نشيط جدا
    تاريخ التسجيل
    Jan 2008
    المشاركات
    512


    تم التعديل ..





    __________________
    محمد حمود.

  13. #13
    عضو نشيط جدا
    تاريخ التسجيل
    Jan 2008
    المشاركات
    392


    مشكور اخي mr_m

    100% كود رائع جدا وجزاك الله الف خير






  14. #14
    عضو نشيط جدا
    تاريخ التسجيل
    Jan 2008
    المشاركات
    392


    اعرف انني اتعبتك معي ولكن سؤال أخير اخي mr_m

    لو انني اريد $tstamp2 يساوي التاريخ و الوقت الحالي

    لقد حاولت بهذه الطريقة
    كود PHP:
    $x=date('Y-m-d H:s:i',time());
    $tstamp2 strtotime($x); 
    ولكن لم يعمل معي






  15. #15
    عضو نشيط جدا
    تاريخ التسجيل
    Jan 2008
    المشاركات
    512


    تعبك راحة
    كود PHP:
    $tstamp2 time(); 
    دالة strtotime تقوم بتحويل التاريخ الى الطابع الزمني .. وطالما ان عندك الطابع الزمني جاهز استعمله مباشرة





    __________________
    محمد حمود.





ضوابط المشاركة

  • لا تستطيع إضافة مواضيع جديدة
  • لا تستطيع الرد على المواضيع
  • لا تستطيع إرفاق ملفات
  • لا تستطيع تعديل مشاركاتك
  •  

أضف موقعك هنا| اخبار السيارات | حراج | شقق للايجار في الكويت | بيوت للبيع في الكويت | دليل الكويت العقاري | مقروء | شركة كشف تسربات المياه | شركة عزل اسطح بالرياض | عزل فوم بالرياض| عزل اسطح بالرياض | كشف تسربات المياة بالرياض | شركة عزل اسطح بالرياض