Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 13.09.2015, 14:56
Аспирант
Отправить личное сообщение для makalet Посмотреть профиль Найти все сообщения от makalet
 
Регистрация: 25.05.2015
Сообщений: 76

Как посчитать прожитые дни?
Как посчитать количество прожитых дней через библиотеку datetimepicker? Юзер вводит дату и мы считаем дни в зависимости от текущего года(учитывая еще и 366 дней - выс. год)
http://jsfiddle.net/t00a47qj/4/
Ответить с цитированием
  #2 (permalink)  
Старый 13.09.2015, 16:35
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,109

datetimepicker сколько дней прошло или осталось до даты
makalet,
<!DOCTYPE html>
<html>
<head>
  <meta http-equiv="content-type" content="text/html; charset=UTF-8">
  <title> - jsFiddle demo</title>
   <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
 <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/jquery-datetimepicker/2.5.4/jquery.datetimepicker.css" />
  <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-datetimepicker/2.5.4/build/jquery.datetimepicker.full.js"></script>
  <script>
$(window).load(function() {
    var text = "";
    $("#datetimepicker").datetimepicker({
        timepicker: false,
        lang: "ru",
        format: "d.m.Y",
        dayOfWeekStart : 1,
        onClose: function(c, f) {
            c = (new Date(c)).setHours(0, 0, 0);
            var a = new Date;
            a.setHours(0, 0, 0);
            var d = a.getDate(),
                e = a.getMonth() + 1,
                g = a.getFullYear(),
                d = d + "." + e + "." + g,
                a = Math.round((a - c) / 864E5),
                e = function(a) {
                    return function(b) {
                        return a[1 == b % 10 && 11 != b % 100 ? 0 : 2 <= b % 10 && 4 >= b % 10 && (10 > b % 100 || 20 <= b % 100) ? 1 : 2]
                    }
                },
                a = (0 == a ? "Сегодня " : 0 < a ? "Прошло " : (a *= -1,
                    "Осталось ")) + a + " " + e(["день", "дня", "дней"])(a);
            text = "Дата рождения: " + f.val() + "<br>Сегодня: " + d + "<br>" + a
        }
    })
    $('#enter').click(function() {$(".info").html(text)})
});
</script>

</head>
<body>
      <label for="datetimepicker">Введите дату рождения</label><br>
      <input id="datetimepicker" type="text" id="date" /><br>
      <input type="button" id="enter" value="Посчитать" /><br>
      <span class='info'></span>

</body>

</html>

Последний раз редактировалось рони, 28.03.2017 в 15:17.
Ответить с цитированием
  #3 (permalink)  
Старый 13.09.2015, 17:03
Аспирант
Отправить личное сообщение для makalet Посмотреть профиль Найти все сообщения от makalet
 
Регистрация: 25.05.2015
Сообщений: 76

рони, а как сделать это при клике на кнопку по моему примеру?
Ответить с цитированием
  #4 (permalink)  
Старый 13.09.2015, 17:12
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,109

makalet,
создайте переменную в которую будут заносится нужные данные и выводите куда хотите эту переменную - смотрите код выше снова

Последний раз редактировалось рони, 13.09.2015 в 17:18.
Ответить с цитированием
  #5 (permalink)  
Старый 13.09.2015, 17:50
Аспирант
Отправить личное сообщение для makalet Посмотреть профиль Найти все сообщения от makalet
 
Регистрация: 25.05.2015
Сообщений: 76

рони, а можете объяснить 28 строку?
Ответить с цитированием
  #6 (permalink)  
Старый 13.09.2015, 18:01
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,109

makalet,
стандартный алгоритм склонения
подробнее тут Помогите с тернарным оператом
Ответить с цитированием
  #7 (permalink)  
Старый 13.09.2015, 18:05
Аспирант
Отправить личное сообщение для makalet Посмотреть профиль Найти все сообщения от makalet
 
Регистрация: 25.05.2015
Сообщений: 76

рони, а проще написать как-то можно исходя из вашего примера? Все таки хотелось сделать как-то через свой пример вытягивания даты и т.д. Или то плохой вариант?
Ответить с цитированием
  #8 (permalink)  
Старый 13.09.2015, 18:12
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,109

makalet,
так в чём проблема вычесть из одной даты другую и разделить на на миллисекунды за день -- строка 25 это всё что вам нужно.
Ответить с цитированием
  #9 (permalink)  
Старый 13.09.2015, 18:19
Аспирант
Отправить личное сообщение для makalet Посмотреть профиль Найти все сообщения от makalet
 
Регистрация: 25.05.2015
Сообщений: 76

рони,
http://jsfiddle.net/t00a47qj/6/ пишет NaN. Переменные
Ответить с цитированием
  #10 (permalink)  
Старый 13.09.2015, 18:24
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,109

makalet,
примерно вы написали следущее
var test = Math.round((1000000 - 14.09.2015) / 864E5)
превратите строку en с числами в Date и тогда вычитайте
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как найти и посчитать одинаковые изображения в массиве? Michael_isr Общие вопросы Javascript 2 05.08.2014 16:55
Как посчитать буферизацию видео при http live streaming ozzon91 Javascript под браузер 1 16.07.2014 19:16
Мотоциклисты есть? l-liava-l Оффтопик 13 04.07.2014 13:35
alert( (5-5)/(5-5) ) КАК посчитать такое выражение одной строкой? Livanderiaamarum Общие вопросы Javascript 22 15.12.2011 01:47
как посчитать сумму выбранных элементов checkbox nikimak92 Общие вопросы Javascript 9 01.06.2010 10:16