12.08.2015, 16:10
|
Интересующийся
|
|
Регистрация: 12.08.2015
Сообщений: 10
|
|
Обратный отсчет от даты
Здравствуйте! помогите пожалуйста, мне нужно чтоб счетчик отсчитывал указанное католичество дней, от даты указанной!
То есть, дата 01.01.2015 мне нужно чтоб он отсчитал к примеру 30 дней и остановился! каждый день типа осталось 29 дней, на следующий день 28 дней, итд. при перегрузке страницы не менял свои значения!
Формат даты чтоб был 01.(Число) 01.(Месяц) 2015.(год)
На странице будет несколько таких счетчиков, нужно чтоб он именно от даты указанной плясал. а не по id счетчика... Огромное спасибо..
Есть какйто счетчик но не подходит считаем вперед и формат даты не тот(((
<SCRIPT language=JavaScript>
d0 = new Date('August 01, 2015'); // дата запуска сайта (месяц должен быть на английском!)
d1 = new Date();
dt = (d1.getTime() - d0.getTime()) / (1000*60*60*24);
document.write(' ' + Math.round(dt) + '-й день'); // счетчик дней
</SCRIPT>
|
|
12.08.2015, 17:34
|
Интересующийся
|
|
Регистрация: 12.08.2015
Сообщений: 10
|
|
Что не кто не знает?
Или может не поняли?
Все скрипты ведут отсчет до даты! а мне нужно чтоб ОТ даты отсчитал 30 дней и стал, формат даты 01.01.2015
|
|
12.08.2015, 17:38
|
Интересующийся
|
|
Регистрация: 12.08.2015
Сообщений: 10
|
|
Ярче пример!
Мужик арендует резиновую бабу!
мол Арендовано 01.01.2015 до конца аренды осталось 30 дней, на следующий 29 дней, итд.
Скрипт сайта ест формат даты 01.01.2015. и не до какой то даты! а 30 дней ОТ даты аренды бабы...
Последний раз редактировалось magnatan, 12.08.2015 в 17:41.
|
|
12.08.2015, 18:10
|
Интересующийся
|
|
Регистрация: 12.08.2015
Сообщений: 10
|
|
Вот вроди такого, как формат даты сделать 01.01.2015 ? через точку?
<script type="text/javascript">
var data = "12/13/2016"// "месяц/день/год" начало отсчёта
document.write(10-1*Math.floor((new Date()-new Date(data))/(24*60*60*1000)))
</script>
|
|
13.08.2015, 01:37
|
|
Профессор
|
|
Регистрация: 15.07.2015
Сообщений: 511
|
|
12.13.2016 в таком виде приходит дата?? Если да, то что мешает отредактировать ее?
var data = "12.13.2016".replace(/\./g, '/');
alert(data);
|
|
13.08.2015, 03:23
|
без статуса
|
|
Регистрация: 25.05.2012
Сообщений: 8,219
|
|
Сообщение от magnatan
|
а мне нужно чтоб ОТ даты отсчитал 30 дней и стал, формат даты 01.01.2015
|
Завтра гляну
|
|
13.08.2015, 10:44
|
Интересующийся
|
|
Регистрация: 12.08.2015
Сообщений: 10
|
|
Сообщение от Lemme
|
12.13.2016 в таком виде приходит дата?? Если да, то что мешает отредактировать ее?
var data = "12.13.2016".replace(/\./g, '/');
alert(data);
|
------------------------------------------------------
alert(data);
Это убрал потому как какое то уведомление постоянно появляется оно мне не нужно!
-----------------------------------------------------
<script type="text/javascript">
var data = "13.08.2015".replace(/\./g, '/');// "месяц/день/год" начало отсчёта
document.write(30-1*Math.floor((new Date()-new Date(data))/(24*60*60*1000)))
</script>
В таком ? сегодняшняя дата, должно показывать 30 дней осталось, а показывает 178
Дата приходит в формате ДЕНЬ.МЕСЯЦ.ГОД нужно именно так! и еще приходит и время, как с ним быть? мне оно не нужно! но формат приходит такой 13.08.2015 12:40 вот как мне это все слепить?
Последний раз редактировалось magnatan, 13.08.2015 в 10:55.
|
|
13.08.2015, 13:07
|
|
Профессор
|
|
Регистрация: 15.07.2015
Сообщений: 511
|
|
function dateDiff(fromDate, daysToEnd) {
// [dd, mm, yyyy, hh, mm]
fromDate = fromDate.replace(/[\.\s\:]/g, '/').split('/');
// 86400000 - сутки
var daysToEnd = daysToEnd * 86400000;
// создаем дату в формате (год, месяц, день).setHours(часы, минуты)
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));
p.s я лишь учусь, не гоните на меня особо=) бу..
Последний раз редактировалось Lemme, 13.08.2015 в 13:14.
|
|
13.08.2015, 13:13
|
Интересующийся
|
|
Регистрация: 12.08.2015
Сообщений: 10
|
|
Сообщение от Lemme
|
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));
|
А как менять с 30 суток ? на 540 дней нужно!!!
и вот так ?
Не работает! не показывает ничего вообще
<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();
console.log(Math.round((start - end) / 86400000));
}
dateDiff('13.08.2015 13:00', 540);
</script>
|
|
13.08.2015, 13:17
|
|
Профессор
|
|
Регистрация: 15.07.2015
Сообщений: 511
|
|
magnatan,
// Особое внимание - уделите этой строке
dateDiff('13.08.2015 13:00', 540)
p.s разберетесь, ок, не разберетесь ..... (ибо лентяям помогать не хочется).
помните, вы сюда пришли за помощью, а не "требовать", вам никто ничем не обязан.
Последний раз редактировалось Lemme, 13.08.2015 в 13:23.
|
|
|
|