![]() |
Модераторы: Sardar, Aliance |
![]() ![]() ![]() |
|
Prontit |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 87 Регистрация: 19.10.2011 Репутация: нет Всего: 1 |
Добрый день!
Собственно сабж. Есть два datepicker, выбираю в них даты. Мне нужны посчитать количество недель между этими датами. Допустим в первом выбираю понедельник 24.04.2013 во-втором пятницу 03.05.2013, тут 1 неделя. Если выбираю так же понедельник 24.04.2013, но пятницу уже 10.05.2013, тут 2 недели. Думаю логика понятна. Погуглил по функциям JS, ничего подходящего не нашел. Есть ли какой-то стандартный способ, или придется "велосипед изобретать" Заранее благодарю. |
|||
|
||||
CruorVult |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 868 Регистрация: 24.9.2008 Где: г.Киев, Украина Репутация: 13 Всего: 28 |
Вот так можно узнать количество дней
Если алгоритм простой, т.е 8 дней - это уже 2 недели, то можно поделить на 7 и округлить до высшего значения (Math.ceil). Если нужно учитывать еще и дни недели, то можно немного дописать логику, ничего сложного здесь нет. Велосипедом это не могу назвать |
|||
|
||||
Prontit |
|
||||
Шустрый ![]() Профиль Группа: Участник Сообщений: 87 Регистрация: 19.10.2011 Репутация: нет Всего: 1 |
выполнив твой код, у меня получилось 1.2857142857142858, это явно не количество дней. |
||||
|
|||||
ksnk |
|
||||
![]() прохожий ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 6855 Регистрация: 13.4.2007 Где: СПб Репутация: 84 Всего: 386 |
Так на самом деле надо было количество дней? -------------------- Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! ![]() |
||||
|
|||||
Prontit |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 87 Регистрация: 19.10.2011 Репутация: нет Всего: 1 |
нет, нужно было именно количество недель. Я понял, 1.2857142857142858 округляю, получаю 1, это неделя. Проблема возникает, когда выбираю и там и там понедельник. Он так же считает что это 1 неделя, а нужно чтобы 2 считал. думал делать проверку на дни недели, если одинаковые то +1 к недели, но почему-то не работает, вот так
|
|||
|
||||
ksnk |
|
|||
![]() прохожий ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 6855 Регистрация: 13.4.2007 Где: СПб Репутация: 84 Всего: 386 |
Где в коде
? То, что end не инициализирован не смущает? -------------------- Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! ![]() |
|||
|
||||
Prontit |
|
||||||
Шустрый ![]() Профиль Группа: Участник Сообщений: 87 Регистрация: 19.10.2011 Репутация: нет Всего: 1 |
все инициализировано, просто не тот кусок скопировал
думал что проблема в том что нули в номере месяца и дня, поэтому сделал *1, но не помогло
что попало выдает... |
||||||
|
|||||||
Prontit |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 87 Регистрация: 19.10.2011 Репутация: нет Всего: 1 |
кто подскажет, почему функция getDay() не работает если я сам дату формирую?
|
|||
|
||||
baldina |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3433 Регистрация: 5.12.2007 Где: Москва Репутация: 0 Всего: 101 |
видимо потому что неправильно формируешь. покажи как это делаешь
тебе же сказали 1.2857142857142858 это больше недели, не правда ли? от понедельника к понедельнику - 8/7=1.142857142857143, ceil(1.14..)=2 если и начальный день (start) входит в расчет, то нужно прибавлять 1: (end-start+1) итого:
http://jsfiddle.net/P5C5F/ |
||||
|
|||||
Prontit |
|
||||||
Шустрый ![]() Профиль Группа: Участник Сообщений: 87 Регистрация: 19.10.2011 Репутация: нет Всего: 1 |
все понял, разобрался. Большое спасибо за помощь! |
||||||
|
|||||||
![]() ![]() ![]() |
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |