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

السؤال

نشر

عايز داله اطبع بيها الوقت الحالي في قاعده البيانات يوم وشهر وسنه وساعه ودقيقه وثانيه لاني لما بستخدم داله day() اصفار في قاعده البيانات وعايز بعد كده اطلع الفرق بين تاريخين يتم جلبهم من قاعده البيانات من المدخل السابق والناتج يكون بالساعه ولكم جزيل الشكر والاحترام

Recommended Posts

  • 0
نشر

هل تقصد حفظ الوقت في قاعدة البيانات ؟ ام ماذا تقصد بطباعة الوقت الحالي ؟

سبب مشكلة إضافة أصفار في قاعدة البيانات فهو بسبب إما إضافة التاريخ بصيغة خاطئة في الإستعلام أو لم يتم وضعه في الإستعلام .

وإذا أردت إستخدام التاريخ والوقت الحالي في قاعدة البيانات يمكنك إستخدام الدالة NOW() في قاعدة البيانات في الإستعلام هكذا :

$sql = "INSERT INTO my_table (timestart,timefinsh) VALUES (NOW(),NOW())";

هنا يمكنك إستبدال ال my_table بإسم الجدول لديك . وهكذا سيتم إضافة الوقت والتاريخ الحالي في العمودين timestart و timefinsh.

أما بخصوص طرح تاريخين مع الوقت في php يمكنك أولا تحويل الوقت إلى UNIX وهو عدد الثواني منذ 1 يناير 1970 ( January 1 1970 00:00:00 UTC) وبعد تحويلهم يمكنك طرح التاريخين وإستخراج عدد الساعات منه هكذا :

$timestamp1 = strtotime($time1);
$timestamp2 = strtotime($time2);

$diff_seconds = abs($timestamp2 - $timestamp1);

// تحويل الثواني إلى ساعات
$hours = $diff_seconds / 3600; // عدد الساعات

هنا في السطر الأول والثاني قمنا بتحويل التاريخ إلى timestamp لذلك في ذلك السطرين يجب عليك تمرير التاريخ الذي أحضرته من قاعدة البيانات إلى الدالة strtotime . وبعد ذلك نقوم بطرح التاريخين والناتج سيكون عدد الثواني بينهما . بعد ذلك نقوم بقسمة الناتج على 3600 وهو عدد الساعات بالثواني :

60 ثانية * 60 دقيقة = 3600 .

وهكذا سيكون لديك عدد الساعات في المتغير hours$

  • 0
نشر

لحل هذه المشكلة، يمكنك استخدام دالة في PHP لطباعه الوقت الحالي بتنسيق يتضمن اليوم، الشهر، السنة، الساعة، الدقيقة، والثانية، ثم استخدام هذه البيانات لحساب الفرق بين تاريخين بالساعة.

1. دالة لطباعه الوقت الحالي بتنسيق مناسب:

إذا كنت تستخدم قاعدة بيانات MySQL وتحتاج إلى تخزين التاريخ والوقت بتنسيق يحتوي على اليوم، الشهر، السنة، الساعة، الدقيقة، والثانية، يمكنك استخدام الدالة NOW() في SQL أو يمكنك بناء التنسيق باستخدام PHP.

$datetime = date('Y-m-d H:i:s'); // تنسيق: سنة-شهر-يوم ساعة:دقيقة:ثانية

إدراج التاريخ والوقت في قاعدة البيانات:

$sql = "INSERT INTO your_table (your_datetime_column) VALUES ('$datetime')";

2. حساب الفرق بين تاريخين بالساعة:

لحساب الفرق بين تاريخين يتم جلبهما من قاعدة البيانات بالساعة، يمكنك استخدام دالة strtotime() في PHP ثم حساب الفرق بين التاريخين.

PHP:

// مثال على جلب تاريخين من قاعدة البيانات (بتنسيق 'Y-m-d H:i:s') 
$date1 = '2025-02-25 14:30:00'; // التاريخ الأول 
$date2 = '2025-02-26 18:45:00'; // التاريخ الثاني 

// تحويل التواريخ إلى طوابع زمنية 

(timestamps) $timestamp1 = strtotime($date1); 
$timestamp2 = strtotime($date2); 

// حساب الفرق بين التاريخين بالثواني 
$diffInSeconds = abs($timestamp2 - $timestamp1); 

// تحويل الفرق إلى ساعات 
$diffInHours = $diffInSeconds / 3600; // 3600 ثانية في الساعة 

echo "الفرق بين التاريخين هو: " . $diffInHours . " ساعة";

3. استعلام SQL لجلب التاريخ والوقت من قاعدة البيانات:

إذا كنت ترغب في جلب التاريخ من قاعدة البيانات بتنسيق مناسب ثم حساب الفرق بين التاريخين، يمكنك استخدام الاستعلام التالي:

استعلام SQL:

SELECT your_datetime_column FROM your_table WHERE your_condition;

=========================================

ملخص الحل:

  • استخدم دالة date('Y-m-d H:i:s') في PHP لاحتساب الوقت الحالي.
  • قم بإدخال الوقت الحالي إلى قاعدة البيانات.
  • استخدم دالة strtotime() لتحويل التواريخ إلى طوابع زمنية، ثم احسب الفرق بينها بالثواني.
  • قسم الفرق على 3600 لتحصل على الفرق بالساعات.

باتباع هذه الخطوات، يمكنك حساب الفرق بين التاريخين بدقة وحساب الفرق بالساعة.

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

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

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

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   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.

  • إعلانات

  • تابعنا على



×
×
  • أضف...