Например, если с сегодняшнего дня начать откладывать по 45 рублей в день, то в июле 2021 можно будет купить Nvidia GeForce RTX 2070 — а там и S.T.A.L.K.E.R. 2 выйдет!
Рассказать об этом друзьям:
Date.prototype.addDays = function(days) {
var date = new Date(this.valueOf());
date.setDate(date.getDate() + days);
return date;
}
$(document).ready(function(){
$("body").on("click", "#skolko_kopit #replay", function() {
$(".sk_screen1").show();
$(".sk_screen2").hide();
});
$("body").on("click", "#skolko_kopit #skol", function() {
if ($.trim($("#skolko_kopit #winput1").val()) == "") DLEalert('Сколько денег будем откладывать-то?', dle_info);
else {
var sk_m_arr=[
'января',
'февраля',
'марта',
'апреля',
'мая',
'июня',
'июля',
'августа',
'сентября',
'октября',
'ноября',
'декабря',
];
var d = new Date();
var date = new Date();
var todate = date.addDays(Math.round(parseInt($( "#skolko_kopit select option:selected" ).attr("data-price"))/parseInt($("#skolko_kopit #winput1").val())));
var result = sk_getDateDifference(d, todate);
console.log(result);
$("#skolko_kopit #sk_v1").text(parseInt($("#skolko_kopit #winput1").val())+' рублей в день');
$("#skolko_kopit #sk_v2").text($( "#skolko_kopit select option:selected" ).text());
if (result.years > 0 || result.months > 0 || result.days > 0) var sidate = todate.getDate() + " " + sk_m_arr[(todate.getMonth())] + " " + todate.getFullYear();
if (result.years > 0) var sk_v_date = ' через '+result.years+' '+sk_declOfNum(result.years, ['год', 'года', 'лет'])+', '+result.months+' '+sk_declOfNum(result.months, ['месяц', 'месяца', 'месяцев'])+' и '+result.months+' '+sk_declOfNum(result.months, ['дней', 'дня', 'дней'])+', куплю видеокарту '+sidate;
else if (result.months > 0) var sk_v_date = ' через '+result.months+' '+sk_declOfNum(result.months, ['месяц', 'месяца', 'месяцев'])+' и '+result.months+' '+sk_declOfNum(result.months, ['дней', 'дня', 'дней'])+', куплю видеокарту '+sidate;
else if (result.days > 0) var sk_v_date = ' через '+result.days+' '+sk_declOfNum(result.days, ['дней', 'дня', 'дней'])+', куплю видеокарту '+sidate;
else var sk_v_date = ' хоть завтра';
$("#skolko_kopit #sk_v4").html(sk_v_date);
$(".sk_screen1").hide();
$(".sk_screen2").show();
$("#skolko_kopit .share42init").attr("data-title", $(".sk_screen2 .sk_text").text()).html('');
$("meta[property='og:title']").attr("content", $(".sk_screen2 .sk_text").text());
shareinit();
}
});
});
function sk_declOfNum(number, titles) {
cases = [2, 0, 1, 1, 1, 2];
return titles[ (number%100>4 && number%100<20)? 2 : cases[(number%10<5)?number%10:5] ];
}
function sk_getDateDifference(startDate, endDate) {
if (startDate > endDate) {
console.error('Start date must be before end date');
return null;
}
var startYear = startDate.getFullYear();
var startMonth = startDate.getMonth();
var startDay = startDate.getDate();
var endYear = endDate.getFullYear();
var endMonth = endDate.getMonth();
var endDay = endDate.getDate();
// We calculate February based on end year as it might be a leep year which might influence the number of days.
var february = (endYear % 4 == 0 && endYear % 100 != 0) || endYear % 400 == 0 ? 29 : 28;
var daysOfMonth = [31, february, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
var startDateNotPassedInEndYear = (endMonth < startMonth) || endMonth == startMonth && endDay < startDay;
var years = endYear - startYear - (startDateNotPassedInEndYear ? 1 : 0);
var months = (12 + endMonth - startMonth - (endDay < startDay ? 1 : 0)) % 12;
// (12 + ...) % 12 makes sure index is always between 0 and 11
var days = startDay <= endDay ? endDay - startDay : daysOfMonth[(12 + endMonth - 1) % 12] - startDay + endDay;
return {
years: years,
months: months,
days: days
};
}