تبدیل تاریخ میلادی به شمسی در تایمر شمارش معکوس

سوال

سلام دوستان من یک  تایمر شمارش معکوس دارم  که میخوام  تاریخ میلادی انو به شمسی تبدیل اما نتونستم میشه کمکم کنید

<div class="clockdiv" style = "display: contents; line-height:1;" data-date="December 20, 2022 12:55:11">
<div>
<span class="days"></span>
<div class="smalltext">days</div>
</div>
<div>
<span class="hours"></span>
<div class="smalltext">hours</div>
</div>
<div>
<span class="minutes"></span>
<div class="smalltext">minutes</div>
</div>
<div>
<span class="seconds"></span>
<div class="smalltext">seconds</div>
</div>
</div>
<script>
document.addEventListener('readystatechange', event => {
if (event.target.readyState === "complete") {
var clockdiv = document.getElementsByClassName("clockdiv");
var countDownDate = new Array();
for (var i = 0; i < clockdiv.length; i++) {
countDownDate[i] = new Array();
countDownDate[i]['el'] = clockdiv[i];
countDownDate[i]['time'] = new Date(clockdiv[i].getAttribute('data-date')).getTime();
countDownDate[i]['days'] = 0;
countDownDate[i]['hours'] = 0;
countDownDate[i]['seconds'] = 0;
countDownDate[i]['minutes'] = 0;
}

var countdownfunction = setInterval(function() {
for (var i = 0; i < countDownDate.length; i++) {
var now = new Date().getTime();
var distance = countDownDate[i]['time'] - now;
countDownDate[i]['days'] = Math.floor(distance / (1000 * 60 * 60 * 24));
countDownDate[i]['hours'] = Math.floor((distance % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60));
countDownDate[i]['minutes'] = Math.floor((distance % (1000 * 60 * 60)) / (1000 * 60));
countDownDate[i]['seconds'] = Math.floor((distance % (1000 * 60)) / 1000);

if (distance < 0) {
countDownDate[i]['el'].querySelector('.days').innerHTML = 0;
countDownDate[i]['el'].querySelector('.hours').innerHTML = 0;
countDownDate[i]['el'].querySelector('.minutes').innerHTML = 0;
countDownDate[i]['el'].querySelector('.seconds').innerHTML = 0;
}else{
countDownDate[i]['el'].querySelector('.days').innerHTML = countDownDate[i]['days'];
countDownDate[i]['el'].querySelector('.hours').innerHTML = countDownDate[i]['hours'];
countDownDate[i]['el'].querySelector('.minutes').innerHTML = countDownDate[i]['minutes'];
countDownDate[i]['el'].querySelector('.seconds').innerHTML = countDownDate[i]['seconds'];
}

}
}, 1000);
}
});
</script>

 

در حال بررسی 0
2021-02-17T00:13:52+03:30 1 پاسخ ها کاربر تازه 0

پاسخ ( 1 )

    0
    2021-02-19T19:26:49+03:30

    سلام

    برای استفاده از تاریخ شمسی در هر زبانی میتوانید از کتابخانه jdf استفاده کنید.

    که داخل خود سایت آموزش کامل و مثال های متعدد آورده، https://jdf.scr.ir

    کتابخانه زیر هم مخصوص جاوا اسکریپت هست:

    https://fingerpich.github.io/jalali-moment/

    ولی شما نیازی به تبدیل تاریخ به شمسی ندارید! شمارش معکوس که کار خودشو انجام میده مثلا مشخص میکنید 20 روز و 20 دقیقه ی دیگه تایمر شروع به کم شدن کنه!که نیاز به تبدیل تاریخ شمسی ندارید …

    موفق باشید.

ارسال یک پاسخ