لدرس الرابع: التعامل مع الوقت والتاريخ
في هذا الدرس سنلقي نظرة على الخيارات المختلفة للتعامل مع الوقت والتاريخ في PHP، في الدرس السابق استعرضنا أمثلة بسيطة لنشرح ماهية اللغة، في هذا الدرس سنلقي نظرة على وظيفة date .
وظائف الوقت والتاريخ
PHP تقدم مجموعة واسعة من الوظائف المتعلقة بالوقت والتاريخ، في هذا الدرس سنلقي نظرة على أهم هذه الوظائف: date.
مع وجود الكثير من العوامل المختلفة يمكن لوظيفةdate أن تعطي التاريخ الحالي أو الوقت بأشكال مختلفة، بعض أكثر العوامل المفيدة هي:
- date("y")
- يعطينا السنة الحالية، وبتاريخ اليوم فهو يعطينا: 14
- date("m")
- يعطينا الشهر الحالي، وبتاريخ اليوم فهو يعطينا: 12
- date("F")
- يعطينا اسم الشهر الحالي، وبتاريخ اليوم فهو يعطينا: December
- date("d")
- يعطينا اليوم الحالي في الشهر، وبتاريخ اليوم فهو يعطينا: 03
- date("l")
- يعطينا اسم اليوم، وبتاريخ اليوم فهو يعطينا: Wednesday
- date("w")
- يعطينا رقم اليوم في الأسبوع، وبتاريخ اليوم فهو يعطينا: 3
- date("H")
- يعطينا الساعة الحالية، وبالتوقيت الحالي فهو يعطينا: 02
- date("i")
- يعطينا الدقيقة الحالية، وبالتوقيت الحالي فهو يعطينا: 01
- date("s")
- يعطينا الثانية الحالية، وبالتوقيت الحالي فهو يعطينا: 44
هذا المثال يوضح استخدام وظيفة date:
<html> <head> <title>Time and date</title> </head> <body> <?php echo "<p>Today it's " . date("l") . "</p>"; ?> </body> </html>
الوقت هو 1417568504
وظيفة time() تعطينا الوقت الحالي كعدد من الثواني منذ الواحد من يناير 1970 وبالتحديد من الساعة 12 مساء بتوقيت غرينتش.
<html> <head> <title>time and date</title> </head> <body> <?php echo "<p>It's been exactly " . time() . " seconds since January 1, 1970, 12:00 PM, GMT </ p> "; ?> </body> </html>
الوقت المعبر عنه بعدد الثواني منذ 1 يناير 1970 الساعة 12 مساء بتوقيت غرينتش يسمى "timestamp" أو الطابع الزمني ويسمى أيضاً الطابع الزمني ليونكس وهو مفيد عند التعامل مع التواريخ والأوقات في المستقبل أو الماضي.
تلقائياً وظيفةdate تستخدم الطابع الزمني الحالي أي القيمة الحالية لوظيفة time()، لكن من خلال عوامل إضافية يمكنك أن تحدد طابعاً زمنياً مختلفاً وهكذا يمكنك التعامل مع الماضي والمستقبل، في المثال أدناه حددنا الثانية صفر من تاريخ 1 يناير 1970 الساعة 12 مساء بتوقيت غرنيتش، هكذا يمكننا معرفة أي يوم كان هذا:
<html> <head> <title>time and date</title> </head> <body> <?php echo "<p>January 1, 1970 was a " . date("l",0) . "</p>"; ?> </body> </html>
يزداد تعقيد عد الثواني منذ 1 يناير 1970 إلى وقت محدد في المستقبل أو الماضي، إلا إن كنت عبقري رياضيات! لكن يمكنك لوظيفة مفيدة أن تساعدك: mktime، التي يمكنها أن تحسب عدد الثواني.
طريقة كتابة قيم mktime هي (ساعة، دقيقة، ثانية، شهر، يوم، عام)، المثال أدناه يحول الوقت لأول خطوة على القمر 21 يوليو 1969 في 02:56:
<html> <head> <title>time and date</title> </head> <body> <?php echo mktime (2,56,0,7,21,1969); ?> </body> </html>
لاحظ أنه يعطينا رقماً سلبياً لأن التاريخ الذي طلبناه كان قبل 1 يناير 1970.
يمكننا أن نجمع بين هذه الوظيفة ووظيفة date لنجد أي يوم وقع هذا الحدث التاريخي.
<html> <head> <title>time and date</title> </head> <body> <?php echo date("l", mktime(2,56,0,7,21,1969)); ?> </body> </html>
كيف يمكنك استخدامها؟
كل ما سبق يبدو نظرياً حتى الآن، كيف يمكنك أن تستخدم وظيفة مثل time()، الأهم من ذلك متى ستتعلم شيئاً يمكنك أن فعلاً أن تضيفه في صفحاتك؟
الإجابة هي أن ما تتعلمه هنا هي لبناء البناء الأساسية، الحد الوحيد لما يمكنك فعله بها هو إبداعك وخيالك! سأتجرأ لأقول بأنك تعلمت أكثر مما تظن، مثلاً هل تظن أنه بإمكانك إنشاء موقع يعرض خلفية للصفحة تتغير بحسب أيام الأسبوع ويعمل على كل المتصفحات؟
بالتأكيد يمكنك، ألقي نظرة على المثال:
<html>
<head>
<title>time and date</title>
</head>
<body background="background_<?php echo date("w"); ?>.png">
</body>
</html>
المثال أعلاه بصور متغيرة، ببساطة يتطلب منك أن تصنع 7 صور لخلفية الموقع وتسمي كل واحدة منها background_1.png وbackground_2.png وbackground_3.png ... إلخ.
إن زار مستخدم موقعك يوم الثلاثاء الموقع سيعرض صورة background_2.png كخلفية، في اليوم التالي سيعرض background_3.png، بسيط وسهل!
في الدرس التالي ستتعلم لبنات بناء جديدة يمكن استخدامها لصنع حلقات وتكراراً في برنامجك.
PHP ممتعة، أليس كذلك؟
0 التعليقات:
إرسال تعليق