English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

دليل PHP الأساسي

دليل PHP المتقدم

PHP & MySQL

دليل PHP

استخدام وظيفة PHP date_interval_create_from_date_string() مع أمثلة

دليل وظائف PHP Date & Time

يُنشأ date_interval_create_from_date_string() عمود DateInterval من الجزء المتعلق بالنص.

التعريف والاستخدام

date_interval_create_from_date_string()الوظيفة هيDateInterval :: createFromDateStringاسم البديل. يقبل نصًا معينًا للفاصل الزمني ويقوم بتقديم عمود DateInterval.

النحو

date_interval_create_from_date_string($time)

الإعداد

الرقم التسلسليالإعدادات والشرح
1

الوقت (مطلوب)

هذه قيمة نصية، يتم تحديد تاريخ/الفاصل الزمني باستخدام نمط نسبي كما تريد أن يتم عرضه على نص تاريخ.

النتيجة

يعود date_interval_create_from_date_string() إلى عمود DateInterval، يمثل قيمة الفاصل الزمني المحددة.

إصدار PHP

تم إدخال هذه الوظيفة في إصدار PHP 5.3، ويمكن استخدامها في جميع الإصدارات الأعلى.

مثال على الإنترنت

يوضح المثال التاليdate_interval_create_from_date_string()استخدام وظيفة

<?php
   $time = "3year + 3months + 26 day + 12 hours+ 30 minutes +23 seconds";
   $interval = date_interval_create_from_date_string($time);
   print_r($interval);
؟>
اختبار لرؤية‹/›

نتائج الخروج

Object DateInterval
(
    [y] => 3
    [m] => 3
    [d] => 26
    [h] => 12
    [i] => 30
    [s] => 23
    [f] => 0
    [weekday] => 0
    [weekday_behavior] => 0
    [first_last_day_of] => 0
    [invert] => 0
    [days] =>
    [special_type] => 0
    [special_amount] => 0
    [have_weekday_relative] => 0
    [have_special_relative] => 0
)

في هذه الوظيفة، لا يمكنك استخدام تمثيل نصي ISO8601 (مثل "P12M") لتحليل هذا النوع من الفترات، وسيكون من الضروري استخدامDateIntervalمؤسس

مثال على الإنترنت

في المثال التالي، نستخدم تمثيل نصي ISO8601 لإنشاء فترة زمنية-

<?php
  $time1 = new DateInterval('P25DP8MP9Y');
   print_r($time1);
   $time2 = new DateInterval('PT10H');
   print_r($time2);
؟>
اختبار لرؤية‹/›

نتائج الخروج

Object DateInterval
(
    [y] => 9
    [m] => 8
    [d] => 25
    [h] => 0
    [i] => 0
    [s] => 0
    [f] => 0
    [weekday] => 0
    [weekday_behavior] => 0
    [first_last_day_of] => 0
    [invert] => 0
    [days] =>
    [special_type] => 0
    [special_amount] => 0
    [have_weekday_relative] => 0
    [have_special_relative] => 0
)
Object DateInterval
(
    [y] => 0
    [m] => 0
    [d] => 0
    [h] => 10
    [i] => 0
    [s] => 0
    [f] => 0
    [weekday] => 0
    [weekday_behavior] => 0
    [first_last_day_of] => 0
    [invert] => 0
    [days] =>
    [special_type] => 0
    [special_amount] => 0
    [have_weekday_relative] => 0
    [have_special_relative] => 0
)

مثال على الإنترنت

في المثال التالي، يتم إضافة فترة زمنية إلى تاريخ الحالي وطباعة النتيجة. هنا، نستخدمتاريخ_إنشاء_من_شيفرة_تاريخالوظائف لحساب فترات الوقت.-

<?php
   $date = date_create(); 
   $str = "12year 3months 14days";
   $interval = date_interval_create_from_date_string($str);
   $res1 = date_add($date, $interval); 
   print("Date after ".$str);
   print(": ".date_format($res1, 'Y-m-d'));
؟>
اختبار لرؤية‹/›

نتائج الخروج

Date after 12 year 3 months 14 days: 2032-08-28

مثال على الإنترنت

في هذا المثال، يتم استخدام أنواع مختلفة من الأنماط ISO8601 وSTRING المتباينة لإنشاء فترات الوقت -

<?php
   print(new DateInterval('P12D')."\n");
   print(DateInterval::createFromDateString('12 يوم')."\n");
   print(new DateInterval('P7')."\n");
   print(DateInterval::createFromDateString('7 شهر')."\n");
   print(new DateInterval('P12Y')."\n");
   print(DateInterval::createFromDateString('12 سنة')."\n");
   print(new DateInterval('PT9H')."\n");
   print(DateInterval::createFromDateString('9 ساعة')."\n");
   print(new DateInterval('PT19i')."\n");
   print(DateInterval::createFromDateString('19 دقيقة')."\n");
   print(new DateInterval('PT45S')."\n");
   print(DateInterval::createFromDateString('45 ثانية')."\n");
؟>