Цитата:
<script type="text/javascript"> function dateDiff(fromDate, daysToEnd) { // [dd, mm, yyyy, hh, mm] fromDate = fromDate.replace(/[\.\s\:]/g, '/').split('/'); // 86400000 - сутки var daysToEnd = daysToEnd * 86400000; var start = new Date(fromDate[2], fromDate[1] - 1, fromDate[0]).setHours(fromDate[3], fromDate[4]) + daysToEnd, end = Date.now(); return Math.round((start - end) / 86400000); } alert(dateDiff('13.08.2015 13:00', 30)); </script> Так какое то уведомление выскакивает в браузере, но на странице ничего не отображается ((( |
magnatan, если вы пришли за "помощью", то просите помощи, а не готовых решний.
p.s уведомление в браузере - это и есть остаток дней. https://learn.javascript.ru/uibasic |
Цитата:
|
magnatan, гуглите
// это нужно выводить. dateDiff('13.08.2015 13:00', 30); ибо так вы не научитесь, а если и не хотите научится, то лучше на фриланс идите, там вам все сделают. |
Цитата:
<script type="text/javascript"> function dateDiff(fromDate, daysToEnd) { // [dd, mm, yyyy, hh, mm] fromDate = fromDate.replace(/[\.\s\:]/g, '/').split('/'); // 86400000 - сутки var daysToEnd = daysToEnd * 86400000; var start = new Date(fromDate[2], fromDate[1] - 1, fromDate[0]).setHours(fromDate[3], fromDate[4]) + daysToEnd, end = Date.now(); return Math.round((start - end) / 86400000); } document.write (dateDiff('13.08.2015 13:00', 540)); </script> СПАСИБО!!! ВАМ ОГРОМНОЕ!!! |
Цитата:
АНЕ ВСЕ НОРМ! СПАСИБО ТО Я ОШИБСЯ |
Делать было нечего, мб понадобится =)
/** * @param {[string]} fromDate [Дата, от которой нужно начинать отсчет дней. Образец - 13.08.2015 13:00] * @param {[number]} daysToEnd [Кол-во дней] * @return {[object]} [годы, месяцы, дни, часы, минуты, секунды] */ function dateDiff(fromDate, daysToEnd) { // [dd, mm, yyyy, hh, mm] fromDate = fromDate.replace(/[\.\s\:]/g, '/').split('/'); // 86400000 - сутки var daysToEnd = daysToEnd * 86400000; // start = new Date(год, месяц, день).setHours(часы, минуты) var start = new Date(fromDate[2], fromDate[1] - 1, fromDate[0]).setHours(fromDate[3], fromDate[4]) + daysToEnd, end = Date.now(), diff = (start - end) / 86400000; var years = diff / 365, months = (years - Math.floor(years)) * 12, days = (months - Math.floor(months)) * 30, hours = (days - Math.floor(days)) * 24, minutes = (hours - Math.floor(hours)) * 60, seconds = (minutes - Math.floor(minutes)) * 60; return { years: Math.floor(years), months: Math.floor(months), days: Math.floor(days), hours: Math.floor(hours), minutes: Math.floor(minutes), seconds: Math.floor(seconds) }; } /** * ВОТ ТАК ВОТ ИСПОЛЬЗОВАТЬ */ var myDataDiff = dateDiff('13.08.2015 13:00', 540); // сколько осталось лет myDataDiff.years; // сколько осталось месяцев myDataDiff.months; // сколько осталось дней myDataDiff.days; // сколько осталось часов myDataDiff.hours; // сколько осталось минут myDataDiff.minutes; // сколько осталось секунд myDataDiff.seconds; /** * Это лишь пример, на него даже не смотрите (строка ниже) */ alert(JSON.stringify(myDataDiff).replace(/[\{\}\"]/g, '').replace(/\,/g, '\r\n')); |
Вариант:
//Установка: <script type="text/javascript"> //Установка счетчиков: function addСount(str,del) { var stor = window.localStorage; var Tday = 1000*60*60*24; //День в ms; str=str.split(','); if(str.length!=4) return false; var arr; if((arr=str[2].split('.')).length!=3) return false; str = str[0]+','+str[1]+','+ str[2]+','+(+new Date(arr[2],arr[1]-1,arr[0])+str[3]*Tday); var bound = ';\n'; //Разделитель записей; var strg = stor["coutArray"];//strg='' if(!!strg)strg = strg.replace(str+bound,''); if(del){ stor["coutArray"] = strg; return [true, "Запись удалена"];} if(!strg){strg='';stor["coutArray"]='';} stor["coutArray"]= strg + str+ bound; return stor["coutArray"]; }; //Формат данных: //Имя, уточняющая запись, Дата отсчета, Дельта T(дней)// var newCount = "Васе,до конца соместной жизни,08.08.2015,30"; addСount(newCount); var newCount = "Диме,до завершения погашения ипотеки,02.08.2015,25"; addСount(newCount); var newCount = "Коле,до конца аренды резиновой бабы,17.08.2015,18"; alert(addСount(newCount)) </script> //Вывод результов: <div id="out-count-write"></div> <script type="text/javascript"> //Вывод результов счетчиков: function writeStorCount() { var last_Phrase = " - Ваше время Истекло!" var stor = window.localStorage,Tday = 1000*60*60*24,bound = ';\n'; var strg = stor["coutArray"],arrCount,i; if(!strg) return false; arrCount = strg.split(bound); var lng = arrCount.length - 1; for(i=0; i<lng; i++){ var arr = arrCount[i].split(',');//alert(arr) var delta = parseInt((+arr[3]-(+new Date()))/Tday); if(delta<0) return false; var test = delta%10; var day='дней'; if(test==1)day='дeнь';if(test>1&&test<5)day='дня'; if(delta>10&&delta<21)day='дней'; var str = arr[0]+' '+arr[1]+ ' осталось '+ delta +' '+ day + '<br>'; if(delta==0)str = arr[0] + last_Phrase + '<br>'; document.getElementById('out-count-write').innerHTML+=str; } }; writeStorCount() </script> |
Часовой пояс GMT +3, время: 02:04. |