darsga qaytish

Ertagachan necha soniya qoldi?

Ertagacha qolgan soniya sonini qaytaradigan getSecondsToTomorrow() funktsiyasini yarating.

Masalan, agar hozir 23:00 bo’lsa, unda:

getSecondsToTomorrow() == 3600;

P.S. Funktsiya har qanday vaqtda ishlashi kerak, faqat “bugun” uchun kodlangan emas.

Milisekundalar sonini ertangi kunga qadar olish uchun “ertangi 00:00:00” dan boshlab joriy sanani qisqartirishimiz mumkin.

Birinchidan, biz “ertangi vaqti” hosil qilamiz, so’ngra buni bajaramiz:

function getSecondsToTomorrow() {
  let now = new Date();

  // ertangi sana
  let tomorrow = new Date(now.getFullYear(), now.getMonth(), now.getDate()+1);

  let diff = tomorrow - now; // millisekundlardagi farq
  return Math.round(diff / 1000); // soniyalarga aylantirish
}

Muqobil yechim:

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;
}

Iltimos, unutmangki, ko’plab mamlakatlarda yozgi tejash vaqti (DST) mavjud, shuning uchun 23 yoki 25 soatlik kunlar bo’lishi mumkin. Bunday kunlarni alohida davolashni xohlashimiz mumkin.