Пыха всегда с тобой

Добро пожаловать на Пыху!

Логин:
Пароль:
 

Нет прописки? Зарегистрируйся!

Новости

Пыха переехала на новый сервер, ура!

Краснодарское время: 25 Май, 2012, 08:09:36

Страниц: [1]
Печать
Автор Тема: Работа с датами  (Прочитано 772 раз)
0 Пользователей и 2 Гостей смотрят эту тему.
TRIAL    ↓ 
03 Май, 2011, 06:07:39
НЕ ХУЕТА! ХУЕТА!

Группа: Джедаи

Карма: 7
Сообщений: 907
Сила слова: 0.77

Задача такая - есть 2 даты вводимые пользователем. С какого-то числа по какое-то. Нужно вычислить сколько дней составляет этот промежуток, немного изменить введенные даты и вывести их.
Пример: с 01.05.2011 по 10.01.2011.
1. Нужно посчитать сколько дней составляет интервал - в нашем случае 10.
2. От начальной даты отнять 2 дня (например, может быть больше или меньше) - получаем 29.04.2011
3. К получившейся дате прибавить 20 дней (так же может быть любое кол-во дней) - получаем 19.05.2011
 
Вот как-то так.
Задача вроде примитивная. Проблема в том что сделать надо только средствами html/javascript/jquery
Нигде не могу найти нормального описания работы с датами. Хотя бы как перевести дату в миллисекунды, там с ними похимичить и вывести назад новые даты.
Очень надеюсь на помощь :)
Записан

from TRIAL with LOVE
phpdude    ↓ 
03 Май, 2011, 06:13:17 , спустя 5 минут 38 секунд
НЕ ХУЕТА! ХУЕТА!

я - ЭМО
Группа: в ухо

Карма: 344
Сообщений: 20790
Сила слова: 1.65

1. Нужно посчитать сколько дней составляет интервал - в нашем случае 10.
с 01.05.2011 по 10.01.2011
с арфиметикой у тебя хуево ... :-)
 
юзай Date.parse() чтоли функция называется или в конструктор ли даты передавать надо.
 
http://www.w3schools.com/jsref/jsref_obj_date.asp
 
но если у тебя даты в известном формате, то я бы юзал нечто типа конструктора
Javascript
var d = new Date(year, month, day, hours, minutes, seconds, milliseconds);

хотя бы месяца от локали не напутаются :-)
 
а дальше их можно вроде как вычитать смело друг из друга ... ну там поиграться надо
Записан

забанен. могу забанить других, пишите в личку
BEER. Helping ugly people have sex since 1862.
TRIAL    ↓ 
03 Май, 2011, 06:17:22 , спустя 4 минуты 5 секунд
НЕ ХУЕТА! ХУЕТА!

Группа: Джедаи

Карма: 7
Сообщений: 907
Сила слова: 0.77

Ок спс щас попробую поиграться.
Формат известен, я сам его задам в нужном виде. Один хрен пока все даты руками вводятся.
Записан

from TRIAL with LOVE
phpdude    ↓ 
03 Май, 2011, 06:21:24 , спустя 4 минуты 2 секунды
НЕ ХУЕТА! ХУЕТА!

я - ЭМО
Группа: в ухо

Карма: 344
Сообщений: д-о-х-у-я!
Сила слова: 1.65

ну просто если ты понадеешься на правильност ьформатов, то может парситься какнит интересно в зависимости от локали))) ведь 5/6/2010 в россии это типа 5 июля, а в америке 6ое июня :-)
Записан

забанен. могу забанить других, пишите в личку
BEER. Helping ugly people have sex since 1862.
TRIAL    ↓ 
03 Май, 2011, 06:40:39 , спустя 19 минут 15 секунд
НЕ ХУЕТА! ХУЕТА!

Группа: Джедаи

Карма: 7
Сообщений: 907
Сила слова: 0.77

Ну вроде что-то считается но из миллисекунд назад в дату не выводится да и просто чет толком ничего не выводится.
Нет ни у кого наглядного примера? :)
Записан

from TRIAL with LOVE
Sinkler    ↓ 
03 Май, 2011, 11:52:44 , спустя 5 часов 12 минут 5 секунд
НЕ ХУЕТА! ХУЕТА!

Похуй, пляшем!
Группа: Джедаи

Карма: 73
Сообщений: 6805
Сила слова: 1.07

в последний раз, когда надо было возиться с датами, ебнул все на аякс и в пхп уже с датами разбирался :D
Записан

TRIAL    ↓ 
04 Май, 2011, 09:58:49 , спустя 10 часов 6 минут 5 секунд
НЕ ХУЕТА! ХУЕТА!

Группа: Джедаи

Карма: 7
Сообщений: 907
Сила слова: 0.77

В ПХП и я бы разобрался, там и разбираться нечего. Но тут задача сделать именно на хтмл+яваскрипт.
Придется отказаться видать, времени нет сидеть дрочить эти даты и яваскрипт который вечно через жопу работает.
Записан

from TRIAL with LOVE
Vitosina    ↓ 
04 Май, 2011, 10:25:21 , спустя 26 минут 32 секунды
НЕ ХУЕТА! ХУЕТА!


Карма: 0
Сообщений: 3
Сила слова: 0

Использовал вот это:
http://jacwright.com/projects/javascript/date_format
 
Задача стояла следующая - после выбора даты начала нужно было установить дату конца +n дней. код выглядел приблизительно так:
Javascript

$('#datestart').change(function(){
        var dat = new Date(document.getElementById('datestart').value)
        $('#dateend').datepicker("setDate", dat.addDays(15).format('Y-m-d'));
    });
 
Записан
Vitosina    ↓ 
04 Май, 2011, 10:31:14 , спустя 5 минут 53 секунды
НЕ ХУЕТА! ХУЕТА!


Карма: 0
Сообщений: 3
Сила слова: 0

ну конечно же в примере используется jqueryui datepicker. без него будет как-то так:
Javascript

...
document.getElementById('dateend').value = dat.addDays(15).format('Y-m-d');
...
 
Записан
Stasovsky    ↓ 
04 Май, 2011, 12:34:31 , спустя 2 часа 3 минуты 17 секунд
НЕ ХУЕТА! ХУЕТА!

Сенсей XD
Группа: Джедаи

Карма: 54
Сообщений: 3653
Сила слова: 1.48

интересно, это фишка такая юзать жукверевский датапикер и голый getElementById вместе?))
Записан
vasa_c    ↓ 
04 Май, 2011, 01:27:02 , спустя 52 минуты 31 секунду
НЕ ХУЕТА! ХУЕТА!

Группа: в ухо

Карма: 81
Сообщений: 2459
Сила слова: 3.29

http://blgo.ru/tools/ds/intervals/ :)
Записан

TRIAL    ↓ 
04 Май, 2011, 06:06:38 , спустя 4 часа 39 минут 36 секунд
НЕ ХУЕТА! ХУЕТА!

Группа: Джедаи

Карма: 7
Сообщений: 907
Сила слова: 0.77

Во, это то что нужно, попробую в коде разобраться и сделать что нужно мне :)
Записан

from TRIAL with LOVE
Страниц: [1]
Печать
 

Перейти в:  

Этот топик скрыли: adw0rd