كيفية استخدام دالة date_sub () في PHP

Kyfyt Astkhdam Dalt Date Sub Fy Php



ال تاريخ_فرعي () هي وظيفة من التاريخ والوقت class ، والتي تعد جزءًا من امتداد التاريخ والوقت في PHP. يتم استخدامه لطرح فاصل زمني محدد من تاريخ معين. يمكن استخدامه لحساب تاريخ مستقبلي عن طريق طرح يوم أو أكثر أو شهور أو سنوات من التاريخ الحالي. ال تاريخ_فرعي () تقوم الدالة بإرجاع ملف التاريخ والوقت يمثل التاريخ والوقت بعد إجراء الحساب.

النحو الأساسي

صيغة الاستخدام تاريخ_فرعي () الوظيفة معطاة أدناه:

تاريخ_فرعي ( التاريخ والوقت الكائن $ و DateInterval الفاصل الزمني $ )

هنا، الكائن $ هل التاريخ والوقت الكائن الذي تريد طرح الفاصل الزمني منه ، و الفاصل الزمني $ هل DateInterval الذي يحدد الفاصل الزمني الذي تريد طرحه. لاحظ أن كلا الوسيطتين مطلوبان لاستخدام تاريخ_فرعي () تعمل بشكل صحيح.







العمل مع DateInterval

لاستخدام ال تاريخ_فرعي () وظيفة ، تحتاج إلى إنشاء ملف DateInterval كائن يحدد مقدار الوقت الذي تريد طرحه من التاريخ والوقت الأصلي. DateInterval يمكن إنشاء كائنات باستخدام DateInterval البناء. يأخذ المُنشئ معلمة سلسلة تحدد الفاصل الزمني بتنسيق مثل P1D (يوم واحد) و P1M (شهر واحد) و P1Y (سنة واحدة) و P1DT1H (يوم واحد وساعة واحدة).



أمثلة

// اطرح يوم واحد
الفاصل الزمني $ = جديد DateInterval ( 'P1D' ) ؛ // اطرح شهر واحد
الفاصل الزمني $ = جديد DateInterval ( 'P1M' ) ؛

// اطرح سنة واحدة
الفاصل الزمني $ = جديد DateInterval ( 'P1Y' ) ؛

كيفية استخدام دالة PHP date_sub ()

بمجرد أن تحصل على ملف DateInterval كائن ، يمكنك دمجه مع التاريخ والوقت كائن لحساب تاريخ ووقت جديد. إليك مثال يطرح يومًا واحدًا من التاريخ الحالي:



<؟ php

التاريخ والوقت = جديد التاريخ والوقت ( ) ؛

الفاصل الزمني $ = جديد DateInterval ( 'P1D' ) ؛

تاريخ_فرعي ( التاريخ والوقت و الفاصل الزمني $ ) ؛

صدى صوت التاريخ والوقت -> شكل ( 'Y-m-d H: i: s' ) ؛

؟>

كما ترى ، فإن التاريخ والوقت الجديد يسبق التاريخ الحالي بيوم واحد.





من الممكن أيضًا طرح الساعات والدقائق والثواني من كائن التاريخ والوقت باستخدام تاريخ_فرعي () وظيفة. لطرح الساعات ، يمكنك تمرير الفاصل الزمني للتاريخ مثل PT1H ، مما يعني طرح ساعة واحدة. على سبيل المثال ، ضع في اعتبارك الكود التالي:



<؟ php

التاريخ والوقت = جديد التاريخ والوقت ( '2023-05-16 14:43:00' ) ؛

تاريخ_فرعي ( التاريخ والوقت و جديد DateInterval ( 'PT1H' ) ) ؛

صدى صوت التاريخ والوقت -> شكل ( 'Y-m-d H: i: s' ) ؛

؟>

هذا يطرح ساعة واحدة من كائن التاريخ والوقت ويقوم بتحديث الكائن بالقيمة الجديدة. يمكنك الوصول إلى القيمة الجديدة باستخدام ملف شكل() وظيفة كائن التاريخ والوقت.

مثال 1: طرح فترات زمنية مختلفة

ال تاريخ_فرعي () تسمح الوظيفة بطرح فترات زمنية مختلفة ، وليس فقط أيام. دعنا نفكر في سيناريو حيث نريد طرح ساعتين و 30 دقيقة من تاريخ ووقت معين.

<؟ php

التاريخ $ = جديد التاريخ والوقت ( '2023-11-02 10:32:45' ) ؛

الفاصل الزمني $ = جديد DateInterval ( 'PT1H15M' ) ؛

تاريخ_فرعي ( التاريخ $ و الفاصل الزمني $ ) ؛

صدى صوت التاريخ $ -> شكل ( 'Y-m-d H: i: s' ) ؛

؟>

في هذا المثال ، نقوم بإنشاء كائن DateTime يمثل التاريخ والوقت '2023-11-02 10:32:45' . نقوم أيضًا بإنشاء ملف DateInterval كائن يمثل فترة 1 ساعة و 15 دقيقة باستخدام تنسيق “PT1H15M”. ثم نستخدم ملف تاريخ_فرعي () وظيفة لطرح الفاصل الزمني من التاريخ والوقت.

مثال 2: طرح فترات متعددة

يمكنك أيضًا استخدام ملف تاريخ_فرعي () دالة لطرح فترات زمنية متعددة من كائن التاريخ والوقت. بناء الجملة بسيط: ما عليك سوى إنشاء كائن DateInterval جديد لكل فترة زمنية تريد طرحها ، ومررها جميعًا إلى تاريخ_فرعي () تعمل كمصفوفة.

<؟ php

فترات $ = مجموعة مصفوفة (

جديد DateInterval ( 'P1Y' ) و

جديد DateInterval ( 'P6M' ) و

جديد DateInterval ( 'P3D' )

) ؛

التاريخ والوقت = جديد التاريخ والوقت ( ) ؛

foreach ( فترات $ مثل الفاصل الزمني $ ) {

تاريخ_فرعي ( التاريخ والوقت و الفاصل الزمني $ ) ؛

}

صدى صوت التاريخ والوقت -> شكل ( 'Y-m-d H: i: s' ) ؛

؟>

في هذا المثال ، طرحنا سنة واحدة وستة أشهر وثلاثة أيام من التاريخ.

مثال 3: date_sub () مع المناطق الزمنية

هناك شيء واحد يجب أن تكون على دراية به عند استخدام ملف تاريخ_فرعي () الوظيفة هي أنه يمكن أن يؤثر على المنطقة الزمنية الخاصة بك التاريخ والوقت هدف. بشكل افتراضي، التاريخ والوقت تستخدم الكائنات المنطقة الزمنية لخادمك. ومع ذلك ، إذا كنت تريد العمل باستخدام منطقة زمنية مختلفة ، فيمكنك تعيينها بشكل صريح باستخدام امتداد setTimezone () طريقة.

<؟ php

التاريخ والوقت = جديد التاريخ والوقت ( 'الآن' و جديد DateTimeZone ( 'أمريكا / نيويورك' ) ) ؛

الفاصل الزمني $ = جديد DateInterval ( 'P1D' ) ؛

تاريخ_فرعي ( التاريخ والوقت و الفاصل الزمني $ ) ؛

صدى صوت التاريخ والوقت -> شكل ( 'Y-m-d H: i: s' ) ؛

؟>

في هذا المثال ، قمنا بتعيين المنطقة الزمنية إلى America / New_York وطرحنا يومًا واحدًا من التاريخ والوقت.

عند طرح فترات باستخدام تاريخ_فرعي () ، من المهم ملاحظة أن التاريخ الناتج يتم تعديله تلقائيًا إذا أصبح غير صالح.

خاتمة

ال تاريخ_فرعي () تقدم الوظيفة في PHP طريقة ملائمة لطرح الفواصل الزمنية من كائنات DateTime. باستخدام هذه الوظيفة ، يمكن للمطورين إجراء عمليات بسهولة مثل طرح أيام أو ساعات أو دقائق أو فترات زمنية معقدة من تاريخ ووقت معين. ال تاريخ_فرعي () توفر الوظيفة المرونة والدقة في التعامل مع حسابات التاريخ ، مما يجعلها أداة قيمة للعمل مع التواريخ والأوقات في تطبيقات PHP.