пытаются отработать оставшееся время между 2 датамиОтработать года: месяцы: остались дни
Я думаю, что я близко, но я получаю дефектные результаты моих дней и лет, я проверил другие решения, но они отличается от того, как я пытаюсь это сделать ... Могу ли я делать то, что мне нужно, с тем, как я это делаю?
var seconds= Math.floor((timeLeft/1000)%60);
var minutes= Math.floor((timeLeft/(1000*60))%60);
var hours= Math.floor((timeLeft/(1000*60*60))%24);
var dayz= Math.floor((timeLeft/(1000*60*60*24))%31);
var years= Math.floor((timeLeft/(1000*60*60*24*31))%12);
$(document).ready(function(){
var currentDate = new Date(2017, 08, 07 , 14 , 33, 20); //set fixed dates to test with
var futureDate = new Date(2018, 08, 07 , 14 , 33, 20); //set fixed dates to test with
var countDown = setInterval(function() {
\t \t \t var currentD = new Date(2017, 08, 07 , 14 , 33, 20); //set fixed dates to test with
\t \t \t var timeLeft = new Date();
\t \t \t timeLeft = futureDate - currentD;
var seconds= Math.floor((timeLeft/1000)%60);
\t \t \t var minutes= Math.floor((timeLeft/(1000*60))%60);
\t \t \t var hours= Math.floor((timeLeft/(1000*60*60))%24);
\t \t \t var dayz= Math.floor((timeLeft/(1000*60*60*24))%31);
var years= Math.floor((timeLeft/(1000*60*60*24*31))%12);
$('#timeLeft').text(years + " " + dayz + " " + hours + " " + minutes + " " + seconds);
}, 1000);
$('#currentDate').text(currentDate);
$('#futureDate').text(futureDate);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
Current Date: <span id="currentDate"></span><br/>
Future Date: <span id="futureDate"></span><br/>
Time till: <span id="timeLeft"></span><br/>
Я думаю, проблема в том, что вы при условии, что среднее количество дней в месяц являются 31, когда вместо этого 30.41. – zangarmarsh