مشاهدة النسخة كاملة : الـ Php والتعامل مع الوقت والتاريخ ،،
مطهر حسن
09-14-2005, 03:41 PM
-----------------------------------------------------------------------------
للتعرف على الـ PHP راجع الموضوع التالي http://www.malkiya.net/vb/showthread.php?t=49886
-----------------------------------------------------------------------------
كيف يمكنني استخراج الوقت والتاريخ بالـ PHP ؟
الجواب :
لطباعة اليوم بالاحرف
echo date("l");
لطباعة اليوم بالأرقام
echo date("j");
لطباعة تاريخ اليوم مع العلامات st ، nd , th
echo date("dS");
لطباعة الشهر بالأحرف
echo date("F");
لطباعة الشهر بالأرقام
echo date("n");
لبطاعة السنة
echo date("Y");
لطباعة الساعة
echo date("h:i:s");
echo date("a");
اتمنى أن أكون قد أفدتكم ولو بالقليل :)
ترقبوا المزيد
المنهل
09-14-2005, 06:46 PM
بسم الله
جميل جدا الدرس المبسط ..
فقط بالأمس كنت اكتب كود وقت منسق و احاول ان استخدمه بشكل مفيد ... سأكتب الكود في آخر المشاركة.
أما الأن اردت ان اساهم معك اخي العزيز الكربلائي ..
و على سبيل التفصيل اكثر في مسألة تاريخ اليوم فيمكن طباعة تاريخ اليوم بطريقتين .. سأوضح دون أستخدام دال التاريخ و هو date() و دال الطباعة echo
الطريقة الأولى بأستخدام حرف ال ( d )
و الطريقة الثانية بأستخدام ال ( j )
و الفرق بينهما هو ان ال ( d ) لطباعة اليوم على شكل رقم واحد فقط للأرقام من 1 إلى 9 .. كـــ 1 أو 2 أو 3 و هكذا حتى 11 ثم 12 ثم 13
بينما ال ( j ) لطباعته مع الصفر للأعداد التي بين 1 و 9 كــ 01 أو 02 أو 03 حتى الوصول إلى 11 ثم 12 ثم 13 و هكذا ..
و اما الدمج بين ال ( dS ) يخرج نتيجة الرقم بدون الصفر مع الرمز الخاص باليوم باللغة الأنكلنزية ( st ، nd , th ) مثل ما تم توضيحه من الأخ العزيز الكربلائي ..
=================================
الأن سأضع كود عملته بالأمس لطباعة تاريخ و يوم و وقت بشكل منسق للأستفادة منه لاحقا:
تجربة رقم 1
$date = date('l jS of F Y H:i A');
echo "$date <br>";
تجربة رقم 2
و في سبيل ترجمة الوقت للغة العربية لأستخدامه في برامج عربية عملت function معدل من موقع php.net لهذه الغاية ..
//showing Dates in Arabic lanuage Done by Ameen:
function formatDateString($stamp) {
//initalise String:
//Gettting the months set up...
$monate = array(
1=>"يناير",
2=>"فبراير",
3=>"مارس",
4=>"أبريل",
5=>"مايو",
6=>"يونيو",
7=>"يوليو",
8=>"أغسطس",
9=>"سبتمبر",
10=>"أكتوبر",
11=>"نوفمبر",
12=>"ديسمبر");
//Getting our Month
$monat = date("n", $stamp);
//Getting the Days set up....
$tage = array("الأحد","الأثنين","الثلاثاء","الأربعاء",
"الخميس","الجمعة","السبت");
//Getting Day....
$tag = date("w", $stamp);
$printme = $tage[$tag].", الـ ".date("d", $stamp)." من ".$monate[$monat]." ".date("Y", $stamp);
return $printme;
}
print formatDateString(date(time()));
///////////////////////
تجربة رقم 3
و على سبيل الأستفادة من الوقت و دال مساعد للوقت يحتسب الوقت في المستقبل و الماضي .. و هو الــ mktime أيضا بتعديل كود موجود على موقع php.net
//////////////////////////
$end = mktime(23,30,0,9,16,2005);
$today= mktime(date("G"),date("i"),
date("s"),date("m"),date("d"),date("Y"));
$days=($end-$today)/86400;
if ($days>0) {
$r1 = explode('.',$days);
$hours=24*($days-$r1[0]);
$r2 = explode('.',$hours);
$minutes=60*($hours-$r2[0]);
$r3 = explode('.',$minutes);
$seconds=60*($minutes-$r3[0]);
$r4 = explode('.',$seconds);
echo 'Days left: ' .$r1[0];
echo '<br>Time left: ' . $r2[0] . ':' . $r3[0] . ':' . $r4[0];
} else {
echo "AMEEN is here:)";}
///////////
إمكانكم تجربة الأكواد و ستجدون النتائج كالآتي ...
تجربة رقم واحد سينتج عنها طباعة :
Wednesday, 14th of September 2005 16:15 PM
تجربة رقم 2 راح تطبع:
الأربعاء, الـ 14 من سبتمبر 2005
تجربة رقم 3 راح تطبع:
Days left: 2
Time left: 7:9:42
و هو الأيام المتبقية للحدث المرتقب الذي حددنا تاريخه.
######### في الحقيقة هناك استخدامات كثيرة و جميلة للوقت و التاريخ و كل ما تحتاجه هو الوقت و الحماس لخلق كودات مميزة تناسب مشروعك ##########
ملاحظة:الأكواد في ال function المعرب معكوسة من اليسار لليمين .. لان المنتدى مبرمج لتكون الكتابة من اليمين لليسار فأنقلب أتجاه الكتابة لوحده دون تصرف مني. *FF*
كنت و ما زلت أتمنى أن يكون الأقبال على هذه المواضيع مقبول على الأقل حتى نتحمس للمساهمة و إلا ستعتبر مضيعة للوقت و الجهد :redface:
مطهر حسن
09-14-2005, 11:31 PM
شكرا عزيزي المنهل لهذه الإضافة الجميلة ،
عموما ، كنت أود أن أعرض الموضوع بشكله المبسط لتسهيله على المبتدئين ، واضافتك كانت جميلة
لدي إضافات بسيطة أتمنى أن تفيد :)
لطباعة الوقت بتوقيت غرنتش GMT سنستخدم الكود التالي ،
echo gmdate("M d Y H:i:s");
فيما لو أردنا صف الأيام من واحد الى 31 ، سنستخدم معامل التزايد ++ ، بهذه الطريقة
for ($i = 1; $i <= 31; $i++){
echo "<br>$i";
}
مع ملاحظة أنه يمكن الاستفادة من هذه الطريقة لعرض ارقام الأيام في قائمة منسدلة لاختيار تاريخ الميلاد مثلا أو أي شئ آخر كادخال التاريخ الذي يختاره المستخدم في قاعدة البيانات .. مع تعديل أمر الطباعة في الكود السابق الى التالي ،
print "<select name='day'>
<option value=' . $i . '>' . $i .'</option>
</select>
";
ويمكن تطبيق ذلك على السنين والشهور مع بعض التغييرات الطفيفة
لي عودة مع تعليقاتكم :)
اختكم في الله
09-15-2005, 12:44 AM
لفتة جميلة جدا استاذي الفاضل الكربلائي،،
كنا منذ زمن نحاول تطبيق التاريخ بال بي اتش بي و لكن لتعقد الكودات المعروضة في موقع php.net نضطر لاستخدام الجافا التي غالبا ما تكون كوداتها متاحة هنا و هناك،،،
ننتظر استاذي العزيز هذا الطرح الشيق بسلاسة حتى يتسنى للمتلقي الاستيعاب ،،
و نطمح في اشياء جديدة علينا لنستفيد من خبراتكم،،
المنهل
09-15-2005, 02:16 PM
بسم الله
عذرا عزيزي مطهر للتسرع في وضع الكودات .. أخذ بنا الحماس .. خصوصا و ان الكودات كانت موجودة لدي فسارعت لوضعها .. على سبيل المشاطرة و الأستفادة ...
بالرغم من اني اعلم ان التعقيد قد يشتت بعض
المنهل
09-15-2005, 02:16 PM
بسم الله
عذرا عزيزي مطهر للتسرع في وضع الكودات .. أخذ بنا الحماس .. خصوصا و ان الكودات كانت موجودة لدي فسارعت لوضعها .. على سبيل المشاطرة و الأستفادة ... و لأني اعلم اني كسول و قليلا ما اكتب و اعوض عن ذلك بالقراءة .. فهو رد واحد لخصت فيه جل مشاركتي ..
بالرغم من اني اعلم ان التعقيد قد يشتت بعض الأحيان ..
سننتظر حتى تنتهي السلسلة لكي يأتي التطبيق بأفكار جديدة ...
بالأنتظار ,,
بحر الأشواق
09-15-2005, 03:19 PM
http://www.al-wed.com/pic-vb/810.gif
عليكم مني جميعا سلام الله أبدا ما بقيت وبقي الليل و النهار
مالنا و الدخول بين السلاطين
لكني دخلت بين طيات موضوعكم أخي مطهر كي أحيي فيكم الروح التقنية المتفانية في عرض ما تختزن من مهارات و افكار و قدرات
خيو الكربلائي والمنهل كلكم راع
أم السادة
اختكم في الله
09-15-2005, 06:00 PM
سؤالي لكم استاذي ،،
كيف يمكن طباعة تاريخ غدا مثلا او تاريخ بعد غد،،
كذلك تاريخ أمس و اول امس و ذلك حين نحتاج هذه التواريخ لتحديد مدة معينة
لكم الشكر استاذي
مطهر حسن
09-15-2005, 11:30 PM
اهلا عزيزي المنهل ، فتحت هذا الموضوع للنقاش والمشاركة من قبل الجميع ، كل يجود بما لديه ، ربما لأني لا أستطيع أن امشي بالتسلسل لوحدي ، وأعتقد بأن المشاركة من الجميع ستكون مفيدة اكثر .. لذا لا تبخل علينا بالمزيد ، ومشاركتك كانت مفيدة :)
أختنا بحر ، كلماتكم تحيي فينا روح التفاني ، وتشجع على العطاء .. فدمتم موفقين دائما :)
أهلا أختنا في الله ، نتمنى منكم المشاركة معنا وافادتنا من تجربتكم :) ، بخصوص طلبكم
يوم غد
echo date("j")+1;
بعد أسبوع
echo date("j")+7;
يوم أمس
echo date("j")-1;
الشهر القادم
echo date("n")+1;
الشهر الماضي
echo date("n")-1;
السنة القادمة
echo date("Y")+1;
السنة الماضية
echo date("Y")-1;
طبعا مع تغيير رقم الجمع والطرح حسب رغبتكم في فرق الأيام والسنين والأشهر :)
اختكم في الله
09-16-2005, 05:40 PM
شكرا للتوضيح استاذي العزيز،،
$x=echo date("j");
هل هذه الطريقة صحيحة لتخزين اليوم في متغير؟؟
هل يتخزن اسم اليوم في المتغير ام رقمه ؟؟
مطهر حسن
09-17-2005, 12:44 AM
$x= date("j");
بهذه الطريقة سيتم تخزين رقم اليوم في المتغير X ،
أما إذا أردنا تخزين اسم اليوم في المتغير X
$x= date("|");
------
مع ملاحظة ان الطريقة في الأعلى التي استخدمناها لطباعة الايام القادمة او الماضية ستطبع الأيام والشهور بالأرقام ..
السراج
10-13-2005, 06:54 AM
بوركتم على هذا الإبداع ،،
بالود أن نتابعكم ونستفيد ،، ولكن !! كما يقول المثل ،،
العين بصيرة والوقت قصير ,6,
العبقري
10-14-2005, 05:39 PM
مكشور اخوي على المعلموت
Powered by vBulletin Version 3.6.9
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd