13.08.2015, 13:22
|
Интересующийся
|
|
Регистрация: 12.08.2015
Сообщений: 10
|
|
Сообщение от Lemme
|
magnatan,
|
Да причем линьтяй? я не понимаю в яве вообще, пришел за помощью!
<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>
Так какое то уведомление выскакивает в браузере, но на странице ничего не отображается (((
|
|
13.08.2015, 13:24
|
|
Профессор
|
|
Регистрация: 15.07.2015
Сообщений: 511
|
|
magnatan, если вы пришли за "помощью", то просите помощи, а не готовых решний.
p.s уведомление в браузере - это и есть остаток дней.
https://learn.javascript.ru/uibasic
|
|
13.08.2015, 13:26
|
Интересующийся
|
|
Регистрация: 12.08.2015
Сообщений: 10
|
|
Сообщение от Lemme
|
magnatan, если вы пришли за "помощью", то просите помощи, а не готовых решний.
p.s уведомление в браузере - это и есть остаток дней.
|
А можно просто чтоб текстом? потому как будет несколько кодов на одной странице! пожалуйста! спасибо
|
|
13.08.2015, 13:29
|
|
Профессор
|
|
Регистрация: 15.07.2015
Сообщений: 511
|
|
magnatan, гуглите
// это нужно выводить.
dateDiff('13.08.2015 13:00', 30);
ибо так вы не научитесь, а если и не хотите научится, то лучше на фриланс идите, там вам все сделают.
|
|
13.08.2015, 13:31
|
Интересующийся
|
|
Регистрация: 12.08.2015
Сообщений: 10
|
|
Сообщение от Lemme
|
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>
СПАСИБО!!! ВАМ ОГРОМНОЕ!!!
|
|
13.08.2015, 13:33
|
Интересующийся
|
|
Регистрация: 12.08.2015
Сообщений: 10
|
|
Сообщение от magnatan
|
Методом тыка подобрал, вот так мне нужно было!
<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>
СПАСИБО!!! ВАМ ОГРОМНОЕ!!!
|
ахахахааа только оно вперед дни счетает, а надо чтоб минусовало дни! обратно отсчитывало ))))))
АНЕ ВСЕ НОРМ! СПАСИБО ТО Я ОШИБСЯ
Последний раз редактировалось magnatan, 13.08.2015 в 13:38.
|
|
13.08.2015, 15:58
|
|
Профессор
|
|
Регистрация: 15.07.2015
Сообщений: 511
|
|
Делать было нечего, мб понадобится =)
/**
* @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'));
|
|
13.08.2015, 16:06
|
без статуса
|
|
Регистрация: 25.05.2012
Сообщений: 8,219
|
|
Вариант:
//Установка:
<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>
Последний раз редактировалось Deff, 13.08.2015 в 16:20.
|
|
|
|