كم بقي عدد من الثواني حتى الغد؟
قم بإنشاء دالة ()getSecondsToTomorrow
والتي تقوم بإرجاع عدد الثواني المتبقية حتى الغد.
على سبيل المثال، إذا كانت الوقت الحالي هو 23:00
، فعندئذٍ:
getSecondsToTomorrow() == 3600
ملاحظة: يجب أن تعمل الدالة عند أي يوم، أي أن اليوم “today” لا يحمل أي قيمة ثابتة.
للحصول على عدد المللي ثانية حتى الغد، يمكننا من “الغد 00:00:00” طرح التاريخ الحالي.
أولاً، لنقم بإنشاء غرض الغد من التاريخ، ثم نقوم بعملية الطرح السابقة:
function getSecondsToTomorrow() {
let now = new Date();
// غرض تاريخ الغد
let tomorrow = new Date(now.getFullYear(), now.getMonth(), now.getDate()+1);
let diff = tomorrow - now; // الفرق من مرتبة المللي ثانية
return Math.round(diff / 1000); // التحويل لمرتبة الثواني
}
حل بديل:
function getSecondsToTomorrow() {
let now = new Date();
let hour = now.getHours();
let minutes = now.getMinutes();
let seconds = now.getSeconds();
let totalSecondsToday = (hour * 60 + minutes) * 60 + seconds;
let totalSecondsInADay = 86400;
return totalSecondsInADay - totalSecondsToday;
}
يرجى ملاحظة أن العديد من البلدان لديها التوقيت الصيفي (DST)، لذلك قد يكون هناك أيام بِ 23 أو 25 ساعة. لذلك، يجب معاملة هذه الأيام بشكل منفصل.