يعد العمل مع التاريخ والوقت في PHP أمرًا سهلاً نسبيًا. التوفر تماما كميات كبيرةتجعل الوظائف التعليمات البرمجية أقل تعقيدًا (وفي PHP 5.2 مع ظهور DateTime وفي 5.3 مع إضافة فئتي DateInterval وDatePeriod والأساليب الفردية، أصبح العمل مع التواريخ أبسط وأكثر ملاءمة). لذا، للعمل مع التاريخ... أولاً، على أية حال، يجب أن تضع في اعتبارك ما يلي:
في PHP 5.3 ل العملية الصحيحةمؤرخة لتجنب أخطاء المعايير الصارمة. اليوم، كقاعدة عامة، يتم أخذ هذا الموقف في الاعتبار إما في البرامج النصية أو في إعدادات الاستضافة.
من أبسط المهام. الوظيفة المستخدمة هي: التاريخ(تنسيق $، $time)
تقوم المعلمة الأولى بتمرير تنسيق التاريخ - لمزيد من التفاصيل، راجع الوثائق (للحصول على "المعتاد" 28.02.2012 15:43:59
يجب أن تستخدم:
التاريخ ("d.m.Y H:i:s"، $time)
كل شيء بسيط هنا أيضًا. تحصل الدالة time() على الوقت الحالي بتنسيق UNIX Timestamp. نطرح (تاريخ الأمس) أو نضيف (غدًا) عدد الثواني المطلوبة (86400 = 3600*24 - بالأيام) ونحصل على:
$الآن = الوقت(); // غير مطلوب
$الأمس = الوقت()-3600*24;
$tomorrow = time()+3600*24;
$weekBefore = time() - 3600*24*7; // منذ أسبوع
صدى "أمس: "،التاريخ("d.m.Y"، $الأمس)،"
غدًا:",date("d.m.Y",$tomorrow);
في بعض الأحيان تحتاج إلى معرفة التاريخ الذي سيكون بعد عدة أيام من التاريخ المحدد. على سبيل المثال، دفع المستخدم مقابل الخدمة في 11 فبراير 2013 لمدة 3 أسابيع. معلومات الدفع متاحة. حتى أي تاريخ يتم السداد؟
عندما يمكنك "فقط" إضافة بضعة أيام والحصول على 13 فبراير، فإن الإجراء لا يسبب أي صعوبات خاصة. لكن ماذا عن كميات مختلفةأيام في الشهر؟ ماذا عن السنوات الكبيسة؟ لقد تم اختراع كل شيء أمامنا بالفعل - لحساب التاريخ من فترة زمنية معروفة سنستخدم mktime
$Payment = array("day"=>11,"month"=>2,"year"=>2013);
$toDate = mktime(0,0,0,$Payment["month"],$Payment["day"]+3*7,$Payment["year"]);
تاريخ الصدى("d.m.Y",$toDate); // خاتمة
// في PHP > 5.3 باستخدام DateInterval
date_default_timezone_set("أوروبا/موسكو");
$datetime = new DateTime(date());
$datetime->sub(new DateInterval("P7D")); // ناقص 7 أيام
يبدو حالة بسيطة- هناك تاريخان، احسب عدد الأيام (الأشهر والأيام) بينهما. ومع ذلك، سيستغرق التنفيذ "اليدوي" بعض الوقت، وهناك احتمال أن يفوتك شيء ما (من أجل المتعة - يمكن لأولئك الذين يريدون المحاولة ترك الكود في التعليقات). تحتوي لغة PHP على دالة date_diff مدمجة لحساب الفرق بين التواريخ، أو بشكل أكثر دقة Datetime::diff
$datetime1 = new DateTime("2013-05-01");
$datetime2 = new DateTime("2013-01-01");
$interval = $datetime1->diff($datetime2);
echo $interval->format("%R%a day after New Year");
في بعض الأحيان تحتاج إلى عرض الوقت بعد حدث معين. على سبيل المثال، بعد التسجيل مرت. للراحة (3200 يوم لا تعني الكثير)، يمكن تحويل الإدراك إلى سنوات وأشهر باستخدام تنسيق DateInterval::format
$registerDate = new DateTime("2009-03-03");
$today = new DateTime();
$interval = $today->diff($registerDate);
صدى "انقضت مدة التسجيل:";
echo $interval->format("%a day")."\n"; // العدد الإجمالي للأيام
صدى "أو"؛
echo $interval->format("%m شهر، %d يوم"); // أشهر، أيام
تحتاج أحيانًا إلى تحويل تاريخ بتنسيق يسهل قراءته إلى تنسيق UNIX TIMESTAMP لتحليل تاريخ بالتنسيق "2013-05-30 12:35" إلى مكوناته (احصل على السنة والشهر واليوم بشكل منفصل). )، يمكنك استخدام الدالة date_parse. للتحويل مباشرة إلى الطابع الزمني لنظام التشغيل Unix، يمكنك استخدام strtotime (بالإضافة إلى أشكال مختلفة مثل "الآن"، و"+1 يوم"، و"الخميس القادم" - php.net/manual/en/datetime.formats.php):
صدى strtotime("2013-05-30");
print_r (date_parse("2013-05-30 12:35"));
ومع ذلك، بالنسبة لروسيا فإن التنسيق الأكثر شيوعًا هو DD.MM.YYYY. يمكنك بالطبع تقسيم التاريخ حسب رمز الفترة والحصول على اليوم والشهر والسنة واستخدام الدالة mktime لمعرفة قيمة UNIX TIMESTAMP المقابلة. قدم PHP5.3 وظيفة date_parse_from_format، والتي يمكنك تمرير سلسلة تنسيق إليها. وبالنسبة لـ PHP5.2، استخدمت strptime (الذي، كما اتضح فيما بعد، لا يعلم الجميع بوجوده، ربما لأنه ببساطة لم يتم تنفيذه لنظام التشغيل Windows: لم يتم تنفيذ هذه الوظيفة على أنظمة Windows الأساسية):
$تاريخ = "05/30/2013 12:35";
$format = "d.m.Y H:i";
print_r (date_parse_from_format($format,$date));
// الخيار البديلل PHP5.2
$format = "%d.%m.%Y %H:%M"; // يختلف عن ذلك المستخدم في دالة التاريخ
$d = strptime($date, $format);
$newDate = mktime($d["tm_hour"], $d["tm_min"], $d["tm_sec"],
$d["tm_mon"]+1, $d["tm_mday"], $d["tm_year"]+1900); // tm_mon 0-11، tm_year 1900
صدى $newDate؛
بالإضافة إلى ذلك، تحتوي الدالة strptime على ميزات خاصة - يتم إزاحة الشهر بمقدار واحد (يناير - 0)، والسنة هي عدد السنوات منذ عام 1900، أي. لعام 2013 سيكون $d['tm_year'] مساويًا لـ 113.
الروابط و معلومات مفيدة:
وظائف PHP dateTime http://www.php.net/manual/en/ref.datetime.php - وظائف للعمل مع التاريخ
فئة PHP DateTime http://www.php.net/manual/en/class.datetime.php
PHP date_diff http://www.php.net/manual/en/function.date-diff.php
PHP strftime http://ru2.php.net/manual/en/function.strftime.php
PHP date_parse_from_format http://ru2.php.net/manual/en/function.date-parse-from-format.php
من الواضح أنه في كثير من الأحيان يتعين على المبرمجين القيام بذلك العمل مع التاريخ والوقت. أبسط مثال هو تاريخ ووقت إرسال الرسالة في المنتدى. وبالطبع، يمكن تحقيق مثل هذه الأشياء بي أتش بيخاصة وأن هناك فرصاً لذلك العمل مع التاريخ والوقت في PHPكثير جدا.
الوظيفة الأساسية المتعلقة التاريخ والوقت في PHP، - هذا وظيفة الوقت ().، والتي تُرجع عدد الثواني التي مرت منذ ذلك الحين منتصف ليل 01/01/1970( ميلاد العصر يونكس):
وقت الصدى ()؛
?>
إطلاق هذا البرنامج النصي، سوف تكتشف عدد الثواني التي مرت منذ ذلك الحين منتصف ليل 01/01/1970حتى لحظة المكالمة وظائف الوقت ().في البرنامج النصي الخاص بك.
وبطبيعة الحال، إلى جانب هذا الوظيفة الأساسية، وهو موجود في جميع لغات البرمجة حيث يمكنك ذلك العمل مع التاريخ والوقت(بواسطة على الأقل، من بين تلك التي أعرفها)، هناك وظيفة أخرى تسمى تاريخ الحصول ():
$datetime = getdate();
foreach ($ datetime كـ $k=>$v)
صدى "$k - $v
";
?>
من خلال تشغيل هذا البرنامج النصي، سترى مجموعة من المفاتيح في المصفوفة والقيم المقابلة لها (في نفس الوقت، كررنا البناء com.foreach). أعتقد أنه لن يكون من الصعب عليك الآن معرفة أي بيانات متعلقة به التاريخ و الوقت. على سبيل المثال، لعرض الوقت الحالي، يمكنك كتابة الكود التالي:
$datetime = getdate();
echo $datetime["hours"]...":":":$datetime["Minutes"]..":":":.$datetime["thans"];
?>
أيضًا وظائف getdate()هناك معلمة اختيارية تعني عدد الثواني التي مرت منذ ذلك الحين منتصف ليل 01/01/1970. تم تصميمه بحيث لا تتمكن هذه الوظيفة من إرجاع الوقت والتاريخ الحاليين فحسب، بل بشكل عام أي:
$datetime = getdate(152353232);
صدى $datetime["year"];
?>
ونتيجة لذلك، سوف ترى 1974سنة.
يوجد ايضا وظيفة التاريخ ().. أوصي بالنظر إلى وصفه في الكتاب المرجعي، منذ ذلك الحين هذه الوظيفةيقبل معلمة معقدة للغاية تحدد تنسيق إخراج التاريخ. هناك ما يزيد قليلاً عن 30 عنصر تنسيق. وفي المثال أدناه سأذكر القليل منها، وألقي نظرة على الباقي في الكتاب المرجعي، لأنك لا تحتاج إلى حفظها، ولكن من المستحسن جدًا أن تتعرف عليها. لكن لا بد من معرفة مبدأ استخدامها، والمثال التالي عنها:
تاريخ الصدى("اليوم d.m.Y H:i:s");
?>
ونتيجة لذلك، سترى شيئا مثل هذا: " اليوم 15/11/2010 الساعة 21:44:24". أيضًا وظائف التاريخ ().هناك أيضًا معلمة اختيارية ثانية تحدد الطابع الزمني، القيمة فقط يساوي الكميةمرت ثواني منذ ذلك الحين منتصف ليل 01/01/1970. مثال على استخدام المعلمة الثانية:
echo date("ذات مرة كان هناك d.m.Y H:i:s", 5393235329);
?>
يوجد ايضا دالة gmdate()، وهو التناظرية الكاملة وظائف التاريخ ().، لكن دالة gmdate()يُظهر الوقت ليس وفقًا للمنطقة الزمنية للخادم الذي يعمل عليه البرنامج النصي، ولكن وفقًا للمنطقة الزمنية غرينتش. من الواضح، باستخدام هذه الوظيفة، تحتاج إلى حفظ جميع المعلومات حول التاريخ والوقت الذي يراه المستخدم، وعند الإخراج، تحتاج إلى التكيف مع المنطقة الزمنية لكل مستخدم (من الناحية المثالية، بالطبع):
echo gmdate("الآن في غرينتش D M j H:i:s T Y")
?>
ونتيجة لذلك، سترى شيئا مثل هذا: " الإثنين 15 نوفمبر الساعة 18:52:45 بتوقيت جرينتش 2010"بالطبع، سترى تاريخًا مختلفًا، ولكن بتنسيق مماثل. كما أوصي بشدة بالانتقال إلى الكتاب المرجعي والتعرف على عناصر التاريخ والوقت الأخرى الموجودة في بي أتش بي(فأعطيت الثلث فقط) منذ ذلك الحين وظائف date() وgmdate()- هذا هو الأبسط والأكثر طريقة سريعة الحصول على التاريخ والوقتفي أي شكل تقريبا.
من بين مهام البرمجة المختلفة، تعد عمليات التلاعب المختلفة بقيم التاريخ والوقت شائعة جدًا. نادر النظام الآلي، يمكن لقاعدة البيانات الاستغناء عن تخزين المعلومات حول وقت عملية معينة. بالإضافة إلى إضافة تاريخ إلى سجل قاعدة بيانات أو عرض هذا التاريخ، هناك العديد من المهام لعرض هذه التواريخ فيها في أشكال مختلفةوالتحقق مما إذا كان الوقت الحالي يتطابق مع مؤقت معين، وحساب الفترة بين تاريخين وغير ذلك الكثير.
لتسهيل التعامل مع التواريخ، تحتوي كل لغة برمجة على أنواع بيانات خاصة بها لتخزين قيم التاريخ والوقت. في أغلب الأحيان هذا قيمة عددية، إما عدد صحيح أو نقطة عائمة.
في عمل PHPمع تاريخ غالبًا ما يواجهه UNIX TIMESTAMP. هنا يتم تخزين الوقت كعدد صحيح. يبدأ حساب الوقت في 1 يناير 1970. لذلك، على سبيل المثال، سيتم تمثيل التاريخ والوقت 12/11/2014 19:40:00 بالرقم 1418316000. يوضح هذا الرقم عدد الثواني التي مرت منذ التاريخ الصفري في 1 يناير 1970، والذي يسمى عصر Unix.
يتم عرض مثال لصفحة PHP التي توفر إمكانيات تحويل البيانات على موقع الويب في قسم البرامج مع برنامج "تحويل تنسيق التاريخ والوقت". هنا يمكنك إنشاء التاريخ المطلوب بتنسيق UNIX TIMESTAMP، بالإضافة إلى تحويل هذا التنسيق إلى التنسيق القياسي، انسان قارئمنظر.
للحصول على وقت الخادم الحالي، استخدم الوظيفة
الوقت الحقيقي (باطل)
والذي سيعيد القيمة بتنسيق الطابع الزمني لنظام التشغيل Unix.
وقت الصدى ()؛ // إخراج الوقت الحالي بتنسيق الطابع الزمني لنظام التشغيل Unix
للوهلة الأولى ليس جدا تنسيق مناسبلشخص، ولكن، كما هو معروف، من عرض أبسطالبيانات، كلما زادت سرعة معالجة الكمبيوتر لهذه القيم. كما أن تخزين رقم في قاعدة بيانات يعد أكثر فعالية من حيث التكلفة من أي رقم آخر تنسيق خاص. أيضًا، PHP يعمل بنفس الطريقة مع مرور الوقت على كل من Unix و منصة ويندوزمما يجعل من الممكن استخدام الكود على أي من هذه المنصات.
أبسط آلية تسمح لك بتحويل قيمة تاريخ رقمية إلى المزيد معاني واضحة، التي تقدمها الدالة:
تاريخ الحصول على المصفوفة ()
تعود مصفوفة متصلة، تحتوي على معلومات التاريخ. إذا لم يتم تحديد معلمة الطابع الزمني، فسيتم إرجاع الوقت الحالي. تحتوي هذه المصفوفة على القيم التالية:
تتيح لك المصفوفة الناتجة عرض القيم بالشكل المطلوب:
تاريخ $ = 1418372345؛
$date_mas = getdate($date);
صدى $date_mas["mday" ] . "." . $date_mas["mon" ] . "." . $date_mas["السنة" ]; // 12.12.2014
يمكنك أيضًا استخدام الوظيفة لتحويل تنسيق التاريخ والوقت:
تاريخ السلسلة (سلسلة $template [، int $unix_timestamp])
الغرض منه هو الحصول على التيار مواعيد يونكسالطابع الزمني في بالصيغة المطلوبة. معلمة السلسلةيحدد القالب $ تنسيق الإخراج. يمكن استخدام المعلمة $unix_timestamp لتحديد القيمة الزمنية التي سيتم العمل بها. وهو اختياري، لذلك إذا لم يتم تحديده، فسيتم استخدام التاريخ والوقت الحاليين.
يتم تحديد التنسيق بالقيم التالية:
أ | "قبل" و"بعد" الظهر: "صباحًا" أو "مساءً" |
أ | "قبل" و"بعد" الظهر بالحروف الكبيرة: "صباحا أو مساء" |
د | يوم الشهر مكون من رقمين (إذا كان الرقم أقل من 10، يأتي الصفر أولاً) (01 إلى 31) |
د | يوم الاسبوع من 3 حروف. على سبيل المثال، "الاثنين" (الاثنين) |
ي | يوم من الشهر، رقم أو رقمان بدون أصفار بادئة (من 1 إلى 31) |
F | اسم الشهر. على سبيل المثال "يناير" |
ح | ساعة، تنسيق 12 ساعة (01 إلى 12) |
ح | ساعة، تنسيق 24 ساعة (00 إلى 23) |
ز | ساعة، تنسيق 12 ساعة بدون أصفار (من 1 إلى 12) |
ز | ساعة، تنسيق 24 ساعة بدون أصفار (0 إلى 23) |
أنا | الدقائق (00 إلى 59) |
أنا (العاصمة ط) | 1 إذا كان الانتقال إلى وقت الصيفوإلا 0 |
ل | 1 إذا كانت السنة سنة كبيسة، أو 0 إذا لم تكن سنة كبيسة |
ب | الوقت بتنسيق وقت الإنترنت ( نظام بديلوقت العد التنازلي لليوم) (من 000 إلى 999) |
ت | المنطقة الزمنية للكمبيوتر. على سبيل المثال، MDT |
ل (حرف صغير L) | يوم من أيام الأسبوع. على سبيل المثال، "الاثنين" |
م | الشهر، رقمين مع الأصفار (01 إلى 12) |
ن | الشهر، رقم أو رقمين بدون أصفار (من 1 إلى 12) |
م | اسم الشهر المختصر. على سبيل المثال "جان" |
ر | عدد أيام الشهر المحدد (من 28 إلى 31) |
س | ثانية (0 إلى 59) |
س | الإنجليزية حرفين لاحقة الرقم الترتيبي ("st"، "nd"، "rd" أو "th") |
ش | عدد صحيح من الثواني منذ بداية عصر UNIX |
ذ | السنة، رقمي، رقمين (14) |
ي | السنة، رقمية، 4 أرقام (2014) |
ض | العدد الترتيبي لليوم في السنة (من 0 إلى 365) |
ز | إزاحة المنطقة الزمنية بالثواني (من -43200 إلى 43200) |
ن | رقم سريأيام الأسبوع من 1 (الاثنين) إلى 7 (الأحد) وفقًا لمعيار ISO-8601 (أضيف في PHP 5.1.0) |
ث | الرقم التسلسلي ليوم الأسبوع من 0 (الأحد) إلى 6 (السبت) |
دبليو | الرقم التسلسلي للأسبوع من السنة وفقًا لمعيار ISO-8601؛ تبدأ الأسابيع يوم الاثنين (أضيفت في PHP 4.1.0) |
س | رقم السنة وفقًا لمعيار ISO-8601. له نفس معنى Y، باستثناء عندما يكون رقم أسبوع ISO (W) من العام السابق أو التالي؛ ثم سيتم استخدام سنة ذلك الأسبوع. (أضيف في PHP 5.1.0) |
ه | رمز مقياس المنطقة الزمنية. على سبيل المثال: UTC، GMT، Atlantic/Azores (تمت إضافته في PHP 5.1.0) |
يا | الفرق مع توقيت غرينتش بالساعات. على سبيل المثال: +0200 |
ص | الفرق عن توقيت غرينتش بنقطتين بين الساعات والدقائق. على سبيل المثال: +02:00 (أضيف في PHP 5.1.3) |
ج | التاريخ بالتنسيق القياسي ISO 8601، على سبيل المثال، 2014-12-12T15:19:21+00:00 (أضيف في PHP 5). |
ص | التاريخ بتنسيق » RFC 2822 على سبيل المثال: الخميس، 21 ديسمبر 2000 16:01:07 +0200 |
ش | عدد الثواني التي مرت منذ بداية عصر يونكس (عصر يونكس، 1 يناير 1970، الساعة 00:00:00 بتوقيت جرينتش) |
كما ترون من القائمة، يمكنك الحصول على الكثير من بيانات التاريخ المفيدة باستخدام هذه الوظيفة. على سبيل المثال:
تاريخ $ = 1418372345؛ // التاريخ والوقت الأولي 12/12/2014 11:19:05
تاريخ الصدى("d.m.Y" , $date); // 12.12.2014 (التاريخ)
تاريخ الصدى("H:i:s" , $date); // 11:19:05 (التوقيت)
تاريخ الصدى("H:i" , $date); // 11:19 (التوقيت)
تاريخ الصدى("t" , $date); // 31 (عدد أيام الشهر)
تاريخ الصدى("z" , $date); // 345 (الرقم الترتيبي لليوم في السنة)
تاريخ الصدى ("l dS \of F Y h:i:s A" , $date); // الجمعة 12 ديسمبر 2014 11:19:05 صباحاً
ستتم طباعة الأحرف الأخرى المضمنة في النموذج كما هي على السطر. إذا كنت بحاجة إلى إدخال حرف يُستخدم في الوظيفة كرمز تنسيق، فسيتم إدراج الحرف "\" أمامه. بالنسبة للقيمة "\n" (الحرف الانتقالي خط جديد)، يجب عليك تحديد "\\n". وبالتالي، يمكنك إخراج رسالة كاملة تحتوي على معلومات التاريخ والوقت:
تاريخ الصدى( "اليوم يوم ضي سنة"، تاريخ $)؛ // اليوم هو اليوم 345 من عام 2014
لعكس تحويل التاريخ من شكل موحديتم تطبيق الوظيفة على قيمة الطابع الزمني الرقمي:
إنت مكتايم (]]]]]])
تقوم الدالة mktime() بإرجاع قيمة وقت Unix المطابقة للتاريخ والوقت المحددين بواسطة وسيطاتها. على سبيل المثال:
$my_date = mktime(10, 30, 0, 12, 12, 2014);
يجب أن تكون حذرًا بشأن ترتيب وسيطات الوظيفة: الساعات، الدقائق، الثواني، الشهر، اليوم، السنة.
يستثني تشكيل بسيطقيم التاريخ في الطابع الزمني، يمكن استخدام الدالة mktime() لإجراء العمليات الحسابية مع التواريخ. للقيام بذلك، يمكنك ببساطة إدخال الوسائط اللازمة. على سبيل المثال، إذا حددت الشهر الرابع عشر، فسيكون الشهر في القيمة النهائية هو الثاني، وستزيد قيمة السنة بمقدار واحد:
$my_day = 12;
$my_month = 12؛
$my_year = 2014؛
$new_date = mktime(0, 0, 0, $my_month + 5, $my_day, $my_year);
تاريخ الصدى("d.m.Y" , $new_date); // 12/05/2015 (التاريخ)
يمكنك أن تفعل الشيء نفسه مع المعلمات الأخرى.
عند العمل مع التواريخ، خاصة عند إنشاء تاريخ باستخدام وظيفة mktime() المقترحة أعلاه، من الضروري مراعاة صحة التاريخ الذي تم إدخاله. للقيام بذلك، يستخدم PHP الدالة:
تاريخ التحقق المنطقي (الشهر الدولي، اليوم الدولي، العام الدولي)
يُرجع صحيحًا إذا كان التاريخ المحدد بواسطة الوسيطات صحيحًا؛ وإلا فإنه يعود كاذبة. يعتبر التاريخ صحيحا إذا:
السنة في النطاق من 1 إلى 32767؛
يتراوح الشهر من 1 إلى 12؛
يُشار إلى اليوم الخاص بشهر معين، مع مراعاة السنوات الكبيسة، بشكل صحيح.
مثال للتحقق من التاريخ:
$my_day = 32;
$my_month = 12؛
$my_year = 2014؛
إذا (!checkdate($my_month, $my_day, $my_year))
صدى صوت "خطأ: التاريخ غير صحيح";
دعونا نلقي نظرة على بعض التعليمات البرمجية من صفحة ويب حقيقية، ونقوم بإنشاء أول برنامج نصي PHP لدينا، أي أننا سنعرض التاريخ والوقت الحالي على موقعنا. يتم استخدام هذا البرنامج النصي كثيرًا على مواقع الويب وأعتقد أنه سيكون مفيدًا للكثيرين.
لنقم بإنشاء ملف PHP آخر ونسميه time.php. لقد درسناها سابقًا، إذا نسيت أعدها.
لذلك قمنا بإنشاء ملف time.php ووضعنا هذا الملف في مجلد myphp الذي تم إنشاؤه مسبقًا في . لقد درسنا هذا الموضوع في الدرس
افتح كود ملف time.php وبين العلامات
والقائمة 1.
اليوم: |
هيا نطلق الملقم المحلي، يتصل ب شريط العنوانعنوان المتصفح http://localhost/myphp/time.phpواضغط على Enter. ونرى هذه الصورة:
يرجى ملاحظة أنه في في هذه الحالةيتم عرض وقت الخادم الحالي،أولئك. على سبيل المثال، إذا كان الخادم الذي "يعيش" موقعك عليه موجود في بلد آخر وكان الوقت الحالي يختلف عن موسكو، فإن قيمة الوقت المعروضة ستختلف أيضًا عن موسكو.
دعونا نلقي نظرة على الكود قائمة 1. تسميات نصية عادية " اليوم" و " الوقت الحالي" لا تتم معالجتها بواسطة معالج PHP المسبق ويتم إخراجها كـ "is". وبدلاً من هذه الإدخالات، يمكنك كتابة أي نص، على سبيل المثال فقط تاريخأو وقتإلخ.
وهنا كود php المضمن في الواصفاتقبل تقديمه للمتصفح، تتم معالجته بواسطة PHP.
كما كنت قد فهمت بالفعل، فإن وظيفة التاريخ في PHP المسؤول عن إخراج التاريخ والوقت. في بين قوسينتتم الإشارة إلى قيم عرض التاريخ والوقت. هناك الكثير من هذه القيم في PHP، وسنخصص الدرس المنفصل التالي لهذا التحليل ودراسة جميع القيم الممكنة.
تتم ترجمة عامل الصدى كـ ينسحب، في هذه الحالة نعني العرض على شاشة العرض تاريخو وقت الخادم.
يمكن تحقيق نفس النتيجة (العرض في المتصفح) عن طريق وضع البرنامج النصي بأكمله داخل واصفات PHP. ينظر القائمة 2:
القائمة 2.
صدى "اليوم:" ؛ |
الجميع عناصر النصيجب أن تكون تلك المخصصة للإخراج محاطة بعلامات اقتباس. سلاسل نصيةيمكن أن تكون مرفقة في كل من واحد و التنصيص، سنتحدث عن الفرق لاحقًا. دعامات:
صدى "اليوم" ؛
صدى "اليوم" ؛
متكافئة تمامًا وستظهر كما هي.
يتم استخدام حرف المسافة قبل علامة الاقتباس للإغلاق لفصل مخرجات دالة التاريخ عن النص المحيط. يتم دائمًا فصل جميع الأوامر في PHP بفاصلة منقوطة.
لعرض التاريخ والوقت على الموقع، أدخل الرمز القائمة 1أو القائمة 2الخامس المكان الصحيحصفحة الويب الخاصة بك. لإضافة النقوش (التاريخ والوقت) النمط العامتصميم موقع يمكنك استخدامه.
ملاحظة.
اسمحوا لي أن أذكرك أن الملف الذي تضع فيه إدراجات PHP يجب أن يكون له الامتداد .php، وبالإضافة إلى ذلك، يجب أن تدعم الاستضافة التي "يعيش" عليها موقعك PHP (اليوم هذا هو كل شيء تقريبًا
في تمثيل التاريخ والوقتالانظمة الموزعة مثل الإنترنت، يلعب الوقت دورًا خاصًا. بسبب الاختلافات الطفيفةساعة النظام من الممكن أن يخسر اللاعب في سوق الفوركس عشرات الآلاف من الدولارات خلال دقائق؛ سوف يرتكب نظام ذكاء الأعمال خطأً في التنبؤ؛ ستفقد خوادم NNTP أثناء المزامنة, معلومات مهمةإلخ.
يحتاجها المستخدم
اليوم: $d.$d.$d"; ?>
نتيجة المثال 1:
أ | |
أ | بالصيغة المحددة. قد تحتوي سلسلة التنسيق على الرموز التالية: |
د | تم تضمين تسمية "AM" أو "PM". |
د | يوم الشهر (01-31) |
F | اسم مختصر ليوم من أيام الأسبوع (ثلاثة أحرف) |
ز | اسم الشهر كاملا |
ز | الساعة (تنسيق 12 ساعة بدون الأصفار البادئة) |
ح | الساعة (تنسيق 24 ساعة بدون الأصفار البادئة) |
ح | الساعة (تنسيق 12 ساعة) |
أنا | الساعة (تنسيق 24 ساعة) |
ي | الدقائق (00-59) |
يوم الشهر بدون الأصفار البادئة (1-31) | ل |
ل | الاسم الكامل ليوم الأسبوع |
م | مؤشر السنة الكبيسة (0 أو 1) |
م | الشهر (01-12) |
ن | اسم الشهر المختصر (ثلاثة أحرف) |
س | الشهر (1-12) |
ر | الثواني (00-59) |
ش | عدد أيام الشهر الواحد (من 28 إلى 31) |
ث | |
ذ | الوقت المطلق |
ي | السنة (مرتبتان) |
ض | السنة (أربع مراتب) |
ز | يوم من السنة (0-365) |
سيتم إدراج أي معلومات أخرى مضمنة في سلسلة التنسيق في السلسلة التي تم إرجاعها. إذا كنت بحاجة إلى إضافة أحرف إلى سلسلة التنسيق التي تمثل في حد ذاتها رموز تنسيق، فيجب أن تكون مسبوقة بشرطة مائلة عكسية "\". يجب أن تكون الأحرف التي تصبح رموز تنسيق عند إلحاقها بخط مائل عكسي مسبوقة بشرطتين مائلتين للأمام. على سبيل المثال، إذا كنت بحاجة إلى إضافة "n" إلى سلسلة، فيجب عليك إدخال "\\n" نظرًا لأن "\n" هو حرف سطر جديد.
نتيجة المثال 2:
اليوم: 11/10/05 13:03
يشاهد
دقائق
ثواني
شهر
يوم من الشهر
سنة
نتيجة المثال 3:
على سبيل المثال:
إذا (! checkdate($month, 1, $year)) ( $d = getdate(); $month = $d; $year = $d; )
انتباه! قد يكون التاريخ ضمن نطاق صالح، لكن وظائف التاريخ الأخرى لن تقبل القيمة. وبالتالي، لا ينبغي استخدام mktime() لسنوات قبل عام 1902، ويجب استخدامه بحذر لسنوات قبل عام 1970.
٪أ | الاسم المختصر ليوم الأسبوع |
٪أ | ل |
٪ب | اسم الشهر المختصر |
٪ب | اسم مختصر ليوم من أيام الأسبوع (ثلاثة أحرف) |
%ج | تنسيق التاريخ والوقت المفضل |
%ج | رقم القرن |
٪د | يوم الشهر (1-31) |
٪د | مثل %م/%d/%y |
%ه | اسم الشهر المختصر (ثلاثة أحرف) |
%ح | مثل ٪ب |
%ح | الساعة (تنسيق 12 ساعة) |
٪أنا | الساعة (تنسيق 24 ساعة بدون الأصفار البادئة) |
%ي | السنة (أربع مراتب) |
%م | اسم الشهر المختصر (ثلاثة أحرف) |
%م | دقائق |
٪ن | حرف السطر الجديد |
%p | تم تضمين تدوين "am" أو "pm". |
%r | الوقت باستخدام تدوين صباحا/مساءا |
% ر | الوقت بتنسيق 24 ساعة |
٪س | الشهر (1-12) |
%t | حرف علامة التبويب |
%T | مثل %H:%M:%S |
% ش | عدد أيام الأسبوع (1 - الاثنين، 7 - الأحد) |
%U | رقم الأسبوع. يبدأ العد التنازلي في يوم الأحد الأول من العام |
٪الخامس | رقم الأسبوع طبقاً للمواصفة ISO 8601:1988. يجب أن يتكون الأسبوع الأول من أربعة أيام على الأقل، ويعتبر يوم الاثنين هو اليوم الأول |
%W | رقم الأسبوع. يبدأ العد التنازلي في أول يوم اثنين من العام |
%w | عدد أيام الأسبوع (0 - الأحد، 6 - السبت) |
%x | تنسيق التاريخ المفضل بدون وقت |
%X | تنسيق الوقت المفضل بدون تاريخ |
%y | الوقت المطلق |
%ص | السنة (مرتبتان) |
%Z | المنطقة الزمنية (الاسم أو الاختصار) |
%% | رمز "٪" |
سيتم إدراج أي معلومات أخرى مضمنة في سلسلة التنسيق في السلسلة التي تم إرجاعها.