Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 12.08.2015, 16:10
Интересующийся
Отправить личное сообщение для magnatan Посмотреть профиль Найти все сообщения от magnatan
 
Регистрация: 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>
Ответить с цитированием
  #2 (permalink)  
Старый 12.08.2015, 17:34
Интересующийся
Отправить личное сообщение для magnatan Посмотреть профиль Найти все сообщения от magnatan
 
Регистрация: 12.08.2015
Сообщений: 10

Что не кто не знает?
Или может не поняли?

Все скрипты ведут отсчет до даты! а мне нужно чтоб ОТ даты отсчитал 30 дней и стал, формат даты 01.01.2015
Ответить с цитированием
  #3 (permalink)  
Старый 12.08.2015, 17:38
Интересующийся
Отправить личное сообщение для magnatan Посмотреть профиль Найти все сообщения от magnatan
 
Регистрация: 12.08.2015
Сообщений: 10

Ярче пример!

Мужик арендует резиновую бабу!

мол Арендовано 01.01.2015 до конца аренды осталось 30 дней, на следующий 29 дней, итд.
Скрипт сайта ест формат даты 01.01.2015. и не до какой то даты! а 30 дней ОТ даты аренды бабы...

Последний раз редактировалось magnatan, 12.08.2015 в 17:41.
Ответить с цитированием
  #4 (permalink)  
Старый 12.08.2015, 18:10
Интересующийся
Отправить личное сообщение для magnatan Посмотреть профиль Найти все сообщения от magnatan
 
Регистрация: 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>
Ответить с цитированием
  #5 (permalink)  
Старый 13.08.2015, 01:37
Аватар для Lemme
Профессор
Отправить личное сообщение для Lemme Посмотреть профиль Найти все сообщения от Lemme
 
Регистрация: 15.07.2015
Сообщений: 511

12.13.2016 в таком виде приходит дата?? Если да, то что мешает отредактировать ее?

var data = "12.13.2016".replace(/\./g, '/');
alert(data);
Ответить с цитированием
  #6 (permalink)  
Старый 13.08.2015, 03:23
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

Сообщение от magnatan
а мне нужно чтоб ОТ даты отсчитал 30 дней и стал, формат даты 01.01.2015
Завтра гляну
Ответить с цитированием
  #7 (permalink)  
Старый 13.08.2015, 10:44
Интересующийся
Отправить личное сообщение для magnatan Посмотреть профиль Найти все сообщения от magnatan
 
Регистрация: 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.
Ответить с цитированием
  #8 (permalink)  
Старый 13.08.2015, 13:07
Аватар для Lemme
Профессор
Отправить личное сообщение для Lemme Посмотреть профиль Найти все сообщения от Lemme
 
Регистрация: 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.
Ответить с цитированием
  #9 (permalink)  
Старый 13.08.2015, 13:13
Интересующийся
Отправить личное сообщение для magnatan Посмотреть профиль Найти все сообщения от magnatan
 
Регистрация: 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>
Ответить с цитированием
  #10 (permalink)  
Старый 13.08.2015, 13:17
Аватар для Lemme
Профессор
Отправить личное сообщение для Lemme Посмотреть профиль Найти все сообщения от Lemme
 
Регистрация: 15.07.2015
Сообщений: 511

magnatan,

// Особое внимание - уделите этой строке
dateDiff('13.08.2015 13:00', 540)

p.s разберетесь, ок, не разберетесь ..... (ибо лентяям помогать не хочется).
помните, вы сюда пришли за помощью, а не "требовать", вам никто ничем не обязан.

Последний раз редактировалось Lemme, 13.08.2015 в 13:23.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Обратный отсчет jet2 Общие вопросы Javascript 4 18.12.2014 16:46
Обратный отсчет до даты с учетом часовых зон royksopp Flash 0 25.09.2013 18:25
jQuery Timer - обратный отсчет времени в 10 минут adax jQuery 1 01.11.2011 14:54
Обратный отсчет времени tenorica Общие вопросы Javascript 2 19.04.2011 23:30
Многократный обратный отсчет sultan.khayrulin Общие вопросы Javascript 1 30.05.2010 22:41