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

طرح تاريخين

بدأه LJD في 5 يناير 2009 · 20 رد · 3,009 مشاهدة · في منتدى تطوير المواقع بـ PHP
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

يا ريت حدا يجاوبني ......

لدي تاريخين في php و أريد أن أقوم بعملية الطرح بحيث يظهر الناتج : عدد الأيام

كيف أستطيع أن أعمل ذلك ....

بالـ php و Javascript

#2

الطريقه كتالي...

تقوم بتحويل التواريخ الى timestamps وهو حسب ويكي بيديا

A timestamp is a sequence of characters, denoting the date and/or time at which a certain event occurred. This data is usually presented in a consistent format, allowing for easy comparison of two different records and tracking progress over time; the practice of recording timestamps in a consistent manner along with the actual data is called timestamping.

وهو بمثابة نقطه مرجعيه لنا يمكن الاستزاده عنه من هنا http://en.wikipedia.org/wiki/Timestamp

اي نقوم بتحويل التاريخيين الى ما يقابلهم في timestamp وبعد ذلك يصبح لدينا رقمين عشريين صحيحين يمكن طرحهم الان الرقم الناتج نعيد تحويله الى ما يقابله في تاريخ ميلادي

<?

$date1="11-11-2008";
$date2="11-11-2009";

$differInTimeStamp =abs( strtotime($date1) - strtotime($date2));

?>

تم تعديل هذه المشاركة بواسطة ahmad123 في 7 يناير 2009 في 21:29

#3

أشكرك كثيرا على الرد

لكن هذا الكود لم يعطي نتائج صحيحة فلم يعطي الفرق بين التاريخين بشكل صحيح.......

( فهو يعطي نتائج صحيحة اذا كان بنفس الشهر و نفس السنة)

فانا لدي تاريخ مدخل في قاعدة البيانات بنوع date فيخزنه هكذا Y/m/d

و أريد مقارنته مع تاريخ اليوم و حساب الفرق بينهما بالأيام ....

اذا كان الفرق أكبر من 30 يوم يعطي تنبيه بذلك ( رسالة ما..... )

التاريخ المدخل قد يكون في سنة 2005

و تاريخ اليوم في سنة 2009

#4
 <?php
 $date1="4/15/2005";
 $date2="3/1/2009";

 $differInTimeStamp =abs( strtotime($date1) - strtotime($date2)); 
 $day = round( ($differInTimeStamp) / (60*60*24) );
 echo $day;
?>

I Say Nothing

#5
mana80 كتب:
 <?php
 $date1="4/15/2005";
 $date2="3/1/2009";

 $differInTimeStamp =abs( strtotime($date1) - strtotime($date2)); 
 $day = round( ($differInTimeStamp) / (60*60*24) );
 echo $day;
?>

تماما...

#6

ما بعرف ماذا أقول لك.......اعذرني

و لكن عندما جربت الفرق بين 13/1/2009 و 13/3/2009

فأعطى الناتج 2

#7

الدالة strtoime تقبل تاريخ بالصيغة

yyyy-mm-dd
 أو
 mm-dd-yyyy

وفي حالتك الأخيرة فالتنسيق لديك dd-mm-yyyy

فإذا كنت تريد نفس التنسيق السابق فاستخدم الدالة explode لتحديد اليوم والشهر والسنة .

تم تعديل هذه المشاركة بواسطة mana80 في 8 يناير 2009 في 13:50

I Say Nothing

#8

بالـ Mysql

النوع date

يقبل التاريخ yyyy-mm-dd

أي السنة أولا ثم الشهر ثم التاريخ

و انا لدي هذه الصيغة ألا تقبلها دالة strtotime

#9

كيف استخدم الدالة explode

#10

ask google ;)

#11

سألت google

وعملت هذا

function mk_time($date2){
	$explode=explode("-",$date2);
	$y=$explode[0];
	$m=$explode[1];
	$d=$explode[2];
	$mktime=mktime(0,0,0,$m,$d,$y);
	return $mktime;
	}
	$datnow=mk_time($date_now);
	$enterdate=mk_time($enter_date);

		$period=abs($enterdate-$datnow);
		$days=$period/86400;

بس ما عم يعطيني نتائج صحيحة

شو المشكلة ؟؟؟؟

عم استخدم النوع date

في القاعدة

والتاريخ يدخل للقاعدة yyyy-mm-dd

تم تعديل هذه المشاركة بواسطة LJD في 16 يناير 2009 في 03:21

#12
	$explode=explode("-",$date2);

لاحظ المحدد delimiter عندك "-" و حسب ماتقول تاريخ لديك يفصله /

تم تعديل هذه المشاركة بواسطة ahmad123 في 16 يناير 2009 في 11:53

#13

عم استخدم النوع date

في القاعدة

والتاريخ يدخل للقاعدة yyyy-mm-dd

هل جربت الكود؟؟؟؟ و أعطى نتائج صحيحة؟؟؟

#14

راجع هذا الموضوع :

/index.ph...=176688&hl=

لا إله الإ الله وحده لا شريك له الملك وله الحمد يحي ويميت وهو على كل شئ قدير

------------------------------------------------------------------------------------------------

gazabigBanner.jpg

------------------------------------------------------------------------------------------------

#15
<?php

//date in the past.
$date1 = "2008-04-11";
//current date.
$date2 = date("Y-m-d", time());
//calculate the difference in seconds.
$difference = abs(strtotime($date2) - strtotime($date1));
//calculate the number of days
$days = round(((($difference/60)/60)/24), 0);

?>
#16

thanks very much I will try it.....

#17

راجع هذا: http://www.lost-in-code.com/programming/ph...ference-in-days

راقب أفكارك ... لأنها تصبح كلمات

راقب كلماتك ... لأنها تصبح أفعالاً

راقب أفعالك ... لأنها تصبح عادات

راقب عاداتك ... لأنها تصبح شخصيتك

راقب شخصيتك ... لأنها تصبح مصيرك

#18

thanks for all.......

#19

طمنا اشتغل معك أي كود ولا لأ؟

#20

شكرا للجميع

اشتغل الكود تبعك اخ خالد

thank u....

#21

شكراً على الرد

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