Помогите переделать скрипт отсчёт времени заменить месяц с английского на руский язык
Здравствуйте.
Есть код счетчика отсчета времени до события: 1, Он работает с форматом даты - 16 February 2020 так и с 2020,02,16 2, А мне нужно чтоб месяц был на русском языке формата 16 февраля 2020 Возможно ли такое реализовать? time_to_x_hour=false; function PremierTimer(premiere_date) { if(premiere_date) { var now=new Date(); var premiere=new Date(premiere_date); time_to_x_hour=(premiere.getTime()-now.getTime())/1000; } if(time_to_x_hour<=0) { if(document.getElementById('CountdownClockDiv')) document.getElementById('CountdownClockDiv').style.display="none"; document.getElementById('CountdownClock').innerHTML="Событие состоялась"; return; } var daysleft = parseInt(time_to_x_hour/(24*60*60)); if (daysleft < 0) daysleft=0; var d = daysleft - Math.floor(daysleft/10)*10; var dd=0; if (daysleft > 100) dd=daysleft-Math.floor(daysleft/100)*100; var daysleftFinal; var text_day; if (d==1 && daysleft!=11 && dd!=11) text_day="День "; else if (d>1 && d<5 && (daysleft<10 || daysleft>20) && (!dd || dd > 20 || dd < 5)) text_day="Дня "; else if (d>=0) text_day="Дней "; if (daysleft > 0) daysleftFinal = 'Событие через<br /><span class="daysLeft">' + daysleft + ' ' + text_day + '</span><span class="timeLeft">+'; else daysleftFinal = ''; var hours=parseInt((time_to_x_hour-daysleft*(24*60*60))/(60*60)); var minutes=parseInt((time_to_x_hour-daysleft*(24*60*60)-hours*(60*60))/60); var seconds=parseInt(time_to_x_hour-daysleft*(24*60*60)-hours*(60*60)-minutes*60); hours=hours.toString().length>1?hours:"0"+hours; minutes=minutes.toString().length>1?minutes:"0"+minutes; seconds=seconds.toString().length>1?seconds:"0"+seconds; time_to_x_hour--; if(!document.getElementById('CountdownClockHTML')) document.getElementById('CountdownClock').innerHTML="<div id='CountdownClockHTML'></div>"; if(document.getElementById('CountdownClockHTML')) document.getElementById('CountdownClockHTML').innerHTML=( daysleftFinal ) + hours+':'+ minutes+':'+ seconds + '</span>'; setTimeout(function(){PremierTimer();},1000); } <div id="CountdownClock"><div id="CountdownClockHTML"><span class="daysLeft"></span><span class="timeLeft"></span></div></div> <script src="/js/time/clock.js" type="text/javascript"></script> <script>$(function(){ PremierTimer('16 February 2020,00:00:00'); });</script> |
<script> function PremierTimer(premiere_date){ var premiere_date = new Date(premiere_date); monthA = 'января,февраля,марта,апреля,мая,июня,июля,августа,сентября,октября,ноября,декабря'.split(','); return (premiere_date.getDate() + ' ' + monthA[premiere_date.getMonth()] + ' ' + premiere_date.getFullYear()); } alert(PremierTimer('16 February 2020,00:00:00')); </script> |
Спасибо конечно но так не работает выскакивает окно Подтвердить создание диалоговых окон.
И отсчёт времени не показывает как 16 февраля 2020 так 16 February 2020 |
Переделывайте скрипт под себя.
<script> document.addEventListener('DOMContentLoaded',function () { var monthA = 'января,февраля,марта,апреля,мая,июня,июля,августа,сентября,октября,ноября,декабря'.split(','); var time_to_x_hour = false; function PremierTimer(premiere_date) { if (premiere_date) { var now = new Date(); var premiere = new Date(premiere_date); time_to_x_hour = (premiere.getTime() - now.getTime()) / 1000; } document.querySelector('#event').textContent = premiere.getDate() + ' ' + monthA[premiere.getMonth()] + ' ' + premiere.getFullYear(); if (time_to_x_hour <= 0) { if (document.getElementById('CountdownClockDiv')) document.getElementById('CountdownClockDiv').style.display = "none"; document.getElementById('CountdownClock').innerHTML = "Событие состоялась"; return; } var daysleft = parseInt(time_to_x_hour / (24 * 60 * 60)); if (daysleft < 0) daysleft = 0; var d = daysleft - Math.floor(daysleft / 10) * 10; var dd = 0; if (daysleft > 100) dd = daysleft - Math.floor(daysleft / 100) * 100; var daysleftFinal; var text_day; if (d == 1 && daysleft != 11 && dd != 11) text_day = "День "; else if (d > 1 && d < 5 && (daysleft < 10 || daysleft > 20) && (!dd || dd > 20 || dd < 5)) text_day = "Дня "; else if (d >= 0) text_day = "Дней "; if (daysleft > 0) daysleftFinal = 'Событие через<br /><span class="daysLeft">' + daysleft + ' ' + text_day + '</span><span class="timeLeft">+'; else daysleftFinal = ''; var hours = parseInt((time_to_x_hour - daysleft * (24 * 60 * 60)) / (60 * 60)); var minutes = parseInt((time_to_x_hour - daysleft * (24 * 60 * 60) - hours * (60 * 60)) / 60); var seconds = parseInt(time_to_x_hour - daysleft * (24 * 60 * 60) - hours * (60 * 60) - minutes * 60); hours = hours.toString().length > 1 ? hours : "0" + hours; minutes = minutes.toString().length > 1 ? minutes : "0" + minutes; seconds = seconds.toString().length > 1 ? seconds : "0" + seconds; time_to_x_hour--; if (!document.getElementById('CountdownClockHTML')) document.getElementById('CountdownClock').innerHTML = "<div id='CountdownClockHTML'></div>"; if (document.getElementById('CountdownClockHTML')) document.getElementById('CountdownClockHTML').innerHTML = (daysleftFinal) + hours + ':' + minutes + ':' + seconds + '</span>'; setTimeout(function () { PremierTimer(); }, 1000); } PremierTimer('16 February 2020,00:00:00'); }) </script> <div id="event"></div> <div id="CountdownClock"><div id="CountdownClockHTML"><span class="daysLeft"></span><span class="timeLeft"></span></div></div> <script></script> |
Цитата:
alert((new Date()).toLocaleDateString('ru-RU')) |
Вы меня не правильно наверное поняли. В статьях уже проставлена дата формата 16 февраля 2020 месяц на русском языке. Чтоб не переписывать все статьи и нужно переделать скрипт. чтоб он отсчёт вёл от такова вывода даты 11 августа 2020, 18 апреля 2020 и т.д.
|
denik,
остальные месяцы допишите сами <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.0/jquery.min.js"></script> <div id="CountdownClock"><div id="CountdownClockHTML"><span class="daysLeft"></span><span class="timeLeft"></span></div></div> <script> time_to_x_hour = false; function PremierTimer(premiere_date) { if (premiere_date) { premiere_date = premiere_date.replace(/[а-яё]+/gi, function(a) { return { 'января': 'January', 'февраля': 'February' }[a] || a }) var now = new Date(); var premiere = new Date(premiere_date); time_to_x_hour = (premiere.getTime() - now.getTime()) / 1000; } if (time_to_x_hour <= 0) { if (document.getElementById('CountdownClockDiv')) document.getElementById('CountdownClockDiv').style.display = "none"; document.getElementById('CountdownClock').innerHTML = "Событие состоялась"; return; } var daysleft = parseInt(time_to_x_hour / (24 * 60 * 60)); if (daysleft < 0) daysleft = 0; var d = daysleft - Math.floor(daysleft / 10) * 10; var dd = 0; if (daysleft > 100) dd = daysleft - Math.floor(daysleft / 100) * 100; var daysleftFinal; var text_day; if (d == 1 && daysleft != 11 && dd != 11) text_day = "День "; else if (d > 1 && d < 5 && (daysleft < 10 || daysleft > 20) && (!dd || dd > 20 || dd < 5)) text_day = "Дня "; else if (d >= 0) text_day = "Дней "; if (daysleft > 0) daysleftFinal = 'Событие через<br /><span class="daysLeft">' + daysleft + ' ' + text_day + '</span><span class="timeLeft">+'; else daysleftFinal = ''; var hours = parseInt((time_to_x_hour - daysleft * (24 * 60 * 60)) / (60 * 60)); var minutes = parseInt((time_to_x_hour - daysleft * (24 * 60 * 60) - hours * (60 * 60)) / 60); var seconds = parseInt(time_to_x_hour - daysleft * (24 * 60 * 60) - hours * (60 * 60) - minutes * 60); hours = hours.toString().length > 1 ? hours : "0" + hours; minutes = minutes.toString().length > 1 ? minutes : "0" + minutes; seconds = seconds.toString().length > 1 ? seconds : "0" + seconds; time_to_x_hour--; if (!document.getElementById('CountdownClockHTML')) document.getElementById('CountdownClock').innerHTML = "<div id='CountdownClockHTML'></div>"; if (document.getElementById('CountdownClockHTML')) document.getElementById('CountdownClockHTML').innerHTML = (daysleftFinal) + hours + ':' + minutes + ':' + seconds + '</span>'; setTimeout(function() { PremierTimer(); }, 1000); }</script> <script>$(function(){ PremierTimer('16 февраля 2020,00:00:00'); });</script> |
Вот вам спасибо большое!!! Это то что мне было нужно. Работает как часы:dance:
|
Часовой пояс GMT +3, время: 11:42. |