تبدیل تاریخ میلادی به شمسی در تایمر شمارش معکوس
سلام دوستان من یک تایمر شمارش معکوس دارم که میخوام تاریخ میلادی انو به شمسی تبدیل اما نتونستم میشه کمکم کنید
<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>

پاسخ ( 1 )
سلام
برای استفاده از تاریخ شمسی در هر زبانی میتوانید از کتابخانه jdf استفاده کنید.
که داخل خود سایت آموزش کامل و مثال های متعدد آورده، https://jdf.scr.ir
کتابخانه زیر هم مخصوص جاوا اسکریپت هست:
https://fingerpich.github.io/jalali-moment/
موفق باشید.