اذهب إلى المحتوى

السؤال

Recommended Posts

  • 0
نشر

يمكنك قراءة المقال التالي لذلك وهو عن كيفية التعامل مع الوقت والتاريخ في php

وأيضا توجد الدالة date() حيث تعتبر دالة date() من الطرق البسيطة والسهلة في php لتنسيق التاريخ والوقت في PHP.

date(format, timestamp);

حيث المعامل format هو سلسلة نصية تحدد تنسيق التاريخ و الوقت المطلوب. و timestamp هو معامل اختياري وهو رقم يمثل الوقت وإذا لم يتم تمريره يتم استخدام الوقت الحالي.

مثال :

echo date("Y-m-d"); // طباعة التاريخ الحالي بشكل السنة-الشهر-اليوم
echo date("l"); // طباعة اسم اليوم مثلا Monday

ويمكنك إستخدام الطوابع الزمنية باستخدام strtotime() حيث يمكنك تحويل سلسلة نصية لتاريخ ما إلى طابع زمني باستخدام strtotime().

$dateString = "2025-04-12";
$timestamp = strtotime($dateString);
echo date("l, F j, Y", $timestamp); // طباعة التاريخ بشكل أكثر تفصيل

ويمكنك حساب الفرق بين تاريخين باستخدام DateInterval  :

$date1 = new DateTime('2025-04-12');
$date2 = new DateTime('2025-05-01');
$interval = $date1->diff($date2);
echo $interval->days; // عدد الأيام بين التاريخين

 

  • 0
نشر

الأساسيات التي أنت بحاجة إلى معرفتها في البداية، أولاً يوجد طريقتين، الأحدث هي استخدام كائنات DateTime, DateTimeImmutable, DateTimeZone, و DateInterval وهي متوفرة منذ إصدار PHP 5.2 وما بعده.

وهي الطريقة كائنية التوجه وتتميز بالأفضلية والمرونة خاصًة عند التعامل مع المناطق الزمنية والعمليات المعقدة.

أما الطريقة القديمة عن طريق الدوال، date(), time(), strtotime(), mktime(), getdate() فلا تزال تعمل ولكنها أقل مرونة ومربكة في بعض الأحيان مع المناطق الزمنية والتحويلات.

أولاً  الحصول على التاريخ والوقت الحالي وذلك من خلال واجهة التاريخ DateTime في PHP:

<?php
$now = new DateTime();
echo $now->format('Y-m-d');
?>

فبشكل إفتراضي يتم إنشاء تاريخ الوقت الحالي، وميثود format نقوم من خلالها بعرض التاريخ.

ولو أردت إنشاء تاريخ ووقت محدد:

<?php
$specificDate = new DateTime('2024-01-15');
$specificDateTime = new DateTime('2023-10-26 14:30:00');
?>

ولو أردنا عرض وتنسيق التاريخ نستخدم ميثود format كما أشرت وتوفر تنسيقات مختلفة قم بتجربة الكود لتتفهم:

<?php
$date = new DateTime('2025-10-26 15:05:10');

echo $date->format('Y-m-d');         
echo $date->format('d/m/Y');          
echo $date->format('Y-m-d H:i:s');    
echo $date->format('l');             
echo $date->format('h:i a');        
?>

عامًة إليك شرح للرموز:

  • Y: سنة (4 أرقام)
  • m: شهر (01-12)
  • d: يوم (01-31)
  • H: ساعة (00-23)
  • i: دقيقة (00-59)
  • s: ثانية (00-59)
  • l: اسم اليوم الكامل
  • h: ساعة (01-12)
  • a: صباحاً/مساءً (am/pm)

ولو أردت تعديل التاريخ والوقت استخدم ميثود modify:

<?php
$date = new DateTime('2023-10-26');
$date->modify('+1 day');     
echo $date->format('Y-m-d'); 

$date->modify('-1 month');    
echo $date->format('Y-m-d'); 
?>

ستجد تفصيل هنا في الدرس التالي:

 

  • 0
نشر
  بتاريخ On 12‏/4‏/2025 at 18:59 قال Mustafa Suleiman:

الأساسيات التي أنت بحاجة إلى معرفتها في البداية، أولاً يوجد طريقتين، الأحدث هي استخدام كائنات DateTime, DateTimeImmutable, DateTimeZone, و DateInterval وهي متوفرة منذ إصدار PHP 5.2 وما بعده.

وهي الطريقة كائنية التوجه وتتميز بالأفضلية والمرونة خاصًة عند التعامل مع المناطق الزمنية والعمليات المعقدة.

أما الطريقة القديمة عن طريق الدوال، date(), time(), strtotime(), mktime(), getdate() فلا تزال تعمل ولكنها أقل مرونة ومربكة في بعض الأحيان مع المناطق الزمنية والتحويلات.

أولاً  الحصول على التاريخ والوقت الحالي وذلك من خلال واجهة التاريخ DateTime في PHP:

<?php
$now = new DateTime();
echo $now->format('Y-m-d');
?>

فبشكل إفتراضي يتم إنشاء تاريخ الوقت الحالي، وميثود format نقوم من خلالها بعرض التاريخ.

ولو أردت إنشاء تاريخ ووقت محدد:

<?php
$specificDate = new DateTime('2024-01-15');
$specificDateTime = new DateTime('2023-10-26 14:30:00');
?>

ولو أردنا عرض وتنسيق التاريخ نستخدم ميثود format كما أشرت وتوفر تنسيقات مختلفة قم بتجربة الكود لتتفهم:

<?php
$date = new DateTime('2025-10-26 15:05:10');

echo $date->format('Y-m-d');         
echo $date->format('d/m/Y');          
echo $date->format('Y-m-d H:i:s');    
echo $date->format('l');             
echo $date->format('h:i a');        
?>

عامًة إليك شرح للرموز:

  • Y: سنة (4 أرقام)
  • m: شهر (01-12)
  • d: يوم (01-31)
  • H: ساعة (00-23)
  • i: دقيقة (00-59)
  • s: ثانية (00-59)
  • l: اسم اليوم الكامل
  • h: ساعة (01-12)
  • a: صباحاً/مساءً (am/pm)

ولو أردت تعديل التاريخ والوقت استخدم ميثود modify:

<?php
$date = new DateTime('2023-10-26');
$date->modify('+1 day');     
echo $date->format('Y-m-d'); 

$date->modify('-1 month');    
echo $date->format('Y-m-d'); 
?>

ستجد تفصيل هنا في الدرس التالي:

 

أظهر المزيد  

سؤال لماذا لا يمكن طباعة تاريخ علي طول  بعد اخد object  من كلاس datetime  وهل $now يسمي اوبجكت من كلاس datetime

لماذا نستخدم format  وهل هيا دالة ام احد خصائص كلاس 

$now = new DateTime();
echo $now;

 

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...