الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

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

بدأه man in dark في 10 مارس 2009 · 9 رد · 777 مشاهدة · في منتدى تطوير المواقع بـ PHP
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

اخواني اريد ان اسال عن انقاص وقت من وقت طبعا الوقت بتخزن في قاعدة البيانات بالكود التالي

'H:i:s A',time())

اريد كود ينقص الوقت من وقت آخر مثال :...........

الوقت الاول

13:20:27 PM

الوقت الثاني

18:29:37 PM

اريد ان يكون الناتج

05:09:10

#2

عليك أولا تجزئة الوقت إلى أجزاء بإستخدام الدالة 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

#3

مشكور اخي 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

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

#4

اخواني لقد بحثت في الانترنت ووجدت كلاس لعمل الفرق الذي اريده

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

رسالة الخطاء

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

الكلاس في المرفقات

date_difference_2007_09_23.zip

#5

تحتاج PHP5+ لتشغيل الكود

php5-zce-logo-new.gif

CCNA, CCNA Security, CCNP

#6

مشكور اخي Ryn

سوف يتم تحويل الكود الى php5

#7
اقتباس
سوف يتم تحويل الكود الى php5

الكود أصلا يعمل على مفسر PHP 5 أظن أنه عليك ترقية المفسر من PHP 4 إلى PHP 5 .

''‏اللهم إني أسالك إيمانا دائما وأسألك قلبا خاشعا وأسألك علما ‏نافعا وأسألك يقينا صادقا وأسألك دينا قيما وأسألك العافية من كل ‏بلية''

'‏اللهم أغفر للمؤمنين و المؤمنات و المسلمين و المسلمات الأحياء ‏منهم و الأموات'

www.it-scoop.com

#8

لقد تم التحويل اخي SIFE جزال الله الف خير

والان يعمل 100%

#10

جميل ...

ولكن أعتقد أن نظام الوقت والتحكم به على الأصول يجب أن يكون بإستخدام الداله

time();

في قاعدة البيانات لو قمت بتخزين الوقت والتاريخ من خلال الداله السابقة سيكون لديك مجال كبير للتحكم في كيفية ظهور الوقت فهي سوبر دايناميك , وإذا كنت تستخدم الطريقه التقليديه في تخزين قيمة الوقت والتاريخ كماقلت

اقتباس
2009-03-10 22:00:04

فهناك داله تقوم بتحويل الوقت إلى هيئة

time()

بعد ذلك يمكنك تنقيص أو زيادة الوقت بجزء من الثانيه وبكل سهوله مثال عملي :

$tm = time();
$timeout = $tm - (30*60);

هنا قمنا بتنقيص نصف ساعه وذلك من خلال ضرب عدد الدقائق بعدد الثواني لآنك بتنقص بالثانيه من الوقت وفي حال بدك تنقص وقت من وقت فالعمليه عاديه جدا

1-1

وبعدها تقوم بتحويل الناتج إلى الطريقه التي تريد إظهار التاريخ بها من خلال دالة

$t= getdate($timeout);

CMS Sfhati , Website Generator


نظام إدارة المحتوى صفحتي ... جربه الآن 


 


small-logo.png

مواضيع مشابهة