السلام عليكم
اخواني اريد ان اسال عن انقاص وقت من وقت طبعا الوقت بتخزن في قاعدة البيانات بالكود التالي
'H:i:s A',time())
اريد كود ينقص الوقت من وقت آخر مثال :...........
الوقت الاول
13:20:27 PM
الوقت الثاني
18:29:37 PM
اريد ان يكون الناتج
05:09:10
السلام عليكم
اخواني اريد ان اسال عن انقاص وقت من وقت طبعا الوقت بتخزن في قاعدة البيانات بالكود التالي
'H:i:s A',time())
اريد كود ينقص الوقت من وقت آخر مثال :...........
الوقت الاول
13:20:27 PM
الوقت الثاني
18:29:37 PM
اريد ان يكون الناتج
05:09:10
عليك أولا تجزئة الوقت إلى أجزاء بإستخدام الدالة explode مثلا حيث تكون الساعة في متغير و الدقائق في وقت و هكذا ،تتبع نفس الخطوات مع الوقت الثاني ثم تطرح كل متغيرين مع بعضهما ،أخيرا تقوم بتنسيق الوقت .
هذه محاولة بسيطة لا أعرف إن كانت ستأدي المطلوب :
<?php
$time1="13:20:27 PM";
$time2="18:29:37 PM";
$time1=substr($time1,0,-3);//لحذف كلمة PM من الأخير
$time2=substr($time2,0,-3);
$T1=array();
$T2=array();
$T1=explode(":",$time1);//تجزئة الوقت إلى مصفوفة بحيث يكون كل زوج من الأرقام وحده
$T2=explode(":",$time2);
for($i=0;$i<3;$i++)//طرح كل زوج من الأرقام
$T1[$i]=$T2[$i]-$T1[$i];
for($i=0;$i<3;$i++)//حلقة تكرار لإرجاع الوقت إلى شكله الأول
$T.=$T1[$i].":";
echo substr($T,0,-1);//حذف علامة : من الأخير
?>''اللهم إني أسالك إيمانا دائما وأسألك قلبا خاشعا وأسألك علما نافعا وأسألك يقينا صادقا وأسألك دينا قيما وأسألك العافية من كل بلية''
'اللهم أغفر للمؤمنين و المؤمنات و المسلمين و المسلمات الأحياء منهم و الأموات'
www.it-scoop.com
مشكور اخي SIFE
طيب اخي اذا كان الوقت تعدى اليوم كامل مثلا :....
الوقت الاول : 01:29:27
الوقت الثاني : 03:28:37
يعني ان الوقت الثاني من اليوم الثاني
في هذه الحالة يجب استخدام التاريخ اليس كذلك ... لذلك قمت بوضع كود ادخال التاريخ و الوقت معاً
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
هل بالامكان عمل ذلك
اخواني لقد بحثت في الانترنت ووجدت كلاس لعمل الفرق الذي اريده
و لكن يظهر لي انه يوجد خطاء عند تطبيق الكلاس
رسالة الخطاء
Parse error: parse error, unexpected T_STRING, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or '}' in c:\camel\www\date_difference\date_difference_class.php on line 4
الكلاس في المرفقات
مشكور اخي Ryn
سوف يتم تحويل الكود الى php5
اقتباسسوف يتم تحويل الكود الى php5
الكود أصلا يعمل على مفسر PHP 5 أظن أنه عليك ترقية المفسر من PHP 4 إلى PHP 5 .
''اللهم إني أسالك إيمانا دائما وأسألك قلبا خاشعا وأسألك علما نافعا وأسألك يقينا صادقا وأسألك دينا قيما وأسألك العافية من كل بلية''
'اللهم أغفر للمؤمنين و المؤمنات و المسلمين و المسلمات الأحياء منهم و الأموات'
www.it-scoop.com
لقد تم التحويل اخي SIFE جزال الله الف خير
والان يعمل 100%
كيف يمكن التأكد من المفسر؟
لا حول و لا قوة الا بالله العلي العظيم
مشروع المخازن و حسابات العملاء و الموردين مع التحليل بطريقة احترافية
جميل ...
ولكن أعتقد أن نظام الوقت والتحكم به على الأصول يجب أن يكون بإستخدام الداله
time();
في قاعدة البيانات لو قمت بتخزين الوقت والتاريخ من خلال الداله السابقة سيكون لديك مجال كبير للتحكم في كيفية ظهور الوقت فهي سوبر دايناميك , وإذا كنت تستخدم الطريقه التقليديه في تخزين قيمة الوقت والتاريخ كماقلت
اقتباس2009-03-10 22:00:04
فهناك داله تقوم بتحويل الوقت إلى هيئة
time()
بعد ذلك يمكنك تنقيص أو زيادة الوقت بجزء من الثانيه وبكل سهوله مثال عملي :
$tm = time(); $timeout = $tm - (30*60);
هنا قمنا بتنقيص نصف ساعه وذلك من خلال ضرب عدد الدقائق بعدد الثواني لآنك بتنقص بالثانيه من الوقت وفي حال بدك تنقص وقت من وقت فالعمليه عاديه جدا
1-1
وبعدها تقوم بتحويل الناتج إلى الطريقه التي تريد إظهار التاريخ بها من خلال دالة
$t= getdate($timeout);