English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
في هذا الدليل، ستتعلم كيفية استخراج أو تنسيق التاريخ والوقت في PHP.
تقوم دالة date() في PHP بتحويل التوقيت إلى تاريخ ووقت أكثر قابلية للقراءة.
يخزن الكمبيوتر التاريخ والوقت في تنسيق يُدعى توقيت UNIX، ويتم قياس هذا التوقيت بالثواني التيمر من بداية عصر Unix (في منتصف الليل بتوقيت جرينتش في 1 يناير 1970، أي في 00:00:00 GMT في 1 يناير 1970).
بسبب أن هذا التنسيق غير إنساني للبشر، يقوم PHP بتحويل التوقيت إلى تنسيق قابل للقراءة من قبل البشر، ويقوم بتحويل التاريخ من رمزك إلى توقيت يمكن للكمبيوتر فهمه. يمكن استخدام نحو.
date(format, timestamp)
في دالة date()formatهذا المعامل ضروري، ويستخدم لتحديد تنسيق التاريخ والوقت الذي سيتم العودة إليه. ولكن،timestampهذا معامل اختياري، إذا لم يشمل، سيتم استخدام التاريخ والوقت الحالي. يظهر التالي تاريخ اليوم:
<?php $today = date("d/m/Y"); echo $today; ?>اختبار ل‹/›
ملاحظة:تقوم دالة PHP date() بإرجاع التاريخ والوقت الحالي بناءً على الساعة المدمجة في خادم الويب الذي ينفذ الدالة.
يتمثل معامل format لدالة date() في سلسلة من الأحرف يمكن أن تحتوي على عدة أحرف، مما يسمح لك بإنشاء سلسلة تاريخ تحتوي على مكونات مختلفة من التاريخ والوقت، مثل اليوم من الأسبوع، صباحاً أو مساءً، وما إلى ذلك. إليك بعض الأحرف الشائعة المستخدمة في تنسيق السلسلة التي تتعلق بالتاريخ:
d - يمثل اليوم من الشهر، مع صفر مقدم كرقم (01 أو 31)
D - يمثل اختصار اليوم من الأسبوع (الإثنين إلى الأحد)
m - يمثل الشهر، مع صفر مقدم كرقم (01 أو 12)
M - يمثل اختصار الشهر (Jan إلى Dec)
y - يمثل السنة بثلاثة أرقام (08 أو 14)
Y - يمثل السنة بأربعة أرقام (2008 أو 2014)
يمكنك استخدام رموز أخرى (مثل شرطي (-)، نقطة (.), شرطي (/) أو مسافة) لفصل أجزاء التاريخ لضيف تنسيق مرئي إضافي.
<?php echo "d/m/Y" . "<br>"; echo "d-m-Y" . "<br>"; echo "d.m.Y"; ?>اختبار ل‹/›
إشارة:يمكنك استخدام دالة PHP date() لتحديث إعلان حقوق النشر على الموقع، مثل: حقوق النشر © 2010-<?php echo date("Y")?>.
بالإضافة إلى ذلك، يمكنك استخدام الأحرف التالية لتنسيق سلسلة الوقت:
h - يمثل الساعة بالتنسيق 12 ساعة، مع صفر مقدم (01 إلى 12)
H - يمثل الساعة بالتنسيق 24 ساعة، مع صفر مقدم (00 إلى 23)
i - يمثل الدقائق، مع صفر مقدم (00 إلى 59)
s - يمثل الثواني، مع صفر مقدم (00 إلى 59)
a - يمثل صباحاً ومساءً الصغير (صباحاً أو مساءً)
A - يمثل صباحاً ومساءً الكبير (صباحاً أو مساءً)
في المثال التالي، يتم عرض التاريخ بشكل مختلف باستخدام كود PHP المشار إليه:
<?php echo "h:i:s" . "<br>"; echo "F d, Y h:i:s A" . "<br>"; echo "h:i a"; ?>اختبار ل‹/›
يستخدم دالة time() للحصول على الوقت الحالي كتوقيت Unix (عدد الثواني منذ بداية عصر Unix: 1970-01-01 00:00:00 GMT).
<?php //وقت التنفيذ: 2014-03-05 07:19:18 $timestamp = time(); echo($timestamp); ?>اختبار ل‹/›
النموذج المذكور أعلاه ينتج ما يلي.
1394003958
يمكننا تحويل العلامة الزمنية إلى تاريخ بشرية باستخدام دالة date() التي تم تقديمها مسبقًا.
<?php $timestamp = 1394003958; echo(date("Y-m-d H:i:s", $timestamp)); ?>اختبار ل‹/›
النموذج المذكور أعلاه ينتج ما يلي.
2014-03-05 07:19:18
تستخدم دالة mktime() لإنشاء علامة زمنية بناءً على تاريخ وموعد محدد. إذا لم يتم تقديم تاريخ وموعد، فإنها تعود إلى علامة زمنية للوقت الحالي.
يمكن تقديم синтكس دالة mktime() كما يلي:
mktime(hour, minute, second, month, day, year)
النموذج التالي يظهر العلامة الزمنية الخاصة بالوقت 3:20:12 مساءً من 10 مايو 2014
<?php //إنشاء علامة زمنية لتاريخ معين echo mktime(15, 20, 12, 5, 10, 2014); ?>اختبار ل‹/›
النموذج المذكور أعلاه ينتج ما يلي.
1399735212
ملاحظة:يمكنك الاحتفاظ بكمية أي عدد من المعلمات حسب الحاجة، وستستخدم القيم المتعلقة بالوقت الحالي. إذا تم تجاهل جميع المعلمات، فإن دالة mktime() سترجع ووقت الحالي ووقت التاريخ في شكل تسلسل عشري.
يمكن استخدام دالة mktime() للبحث عن اسم اليوم الخاص بتاريخ معين. لتحقيق ذلك، تحتاج فقط إلى استخدام رمز 'l' ('L' الصغير) في وقتك المرسوم، مثل المثال التالي، يظهر هذا اليوم: 1 أبريل 2014
<?php //الحصول على اسم اليوم من تاريخ معين echo date('l', mktime(0, 0, 0, 4, 1, 2014)); ?>اختبار ل‹/›
النموذج المذكور أعلاه ينتج ما يلي.
الثلاثاء
يمكن استخدام دالة mktime() أيضًا للبحث عن تاريخ محدد في المستقبل بعد فترة معينة. مثلما في المثال التالي، هل تريد معرفة التاريخ بعد 30 شهرًا من اليوم؟
<?php //تاريخ التنفيذ هو 5 مارس 2014 $futureDate = mktime(0, 0, 0, date("m")+30, date("d"), date("Y")); echo date("d/m/Y", $futureDate); ?>اختبار ل‹/›
النموذج المذكور أعلاه ينتج ما يلي.
05/09/2016
يرجى الرجوع إلى جزء الوظائف الزمنية/التاريخية لPHP للحصول على قائمة كاملة بجميع الوظائف الزمنية/التاريخية المتاحة في PHP.