Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / количество дней между двумя датами, без использование Calendar или Date / 25 сообщений из 26, страница 1 из 2
25.12.2013, 22:10
    #38512577
Bohodir
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
количество дней между двумя датами, без использование Calendar или Date
Доброго времени сутки!

Уважаемые форумчане, подскажите пожалуйста как вычислит количество дней между двумя датами без использование существующих библиотек.

Я просмотрел очень много примеров, но во всех используется Date.


За ранние большое спасибо, и прошу прошения за вопрос.
...
Рейтинг: 0 / 0
26.12.2013, 01:16
    #38512698
javapecker
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
количество дней между двумя датами, без использование Calendar или Date
Bohodir, у вас даты, между которыми нужно вычислять разность, в каком формате хранятся?
...
Рейтинг: 0 / 0
26.12.2013, 03:09
    #38512719
Bohodir
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
количество дней между двумя датами, без использование Calendar или Date
javapecker, Спасибо за отклик.

Даты хранятся в формате "2013-03-01".

public DayBetweenDate(String date1, String date2){
}
...
Рейтинг: 0 / 0
26.12.2013, 04:44
    #38512733
Bohodir
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
количество дней между двумя датами, без использование Calendar или Date
т.е "YYYY-MM-DD"
...
Рейтинг: 0 / 0
26.12.2013, 07:57
    #38512755
avp.mk
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
количество дней между двумя датами, без использование Calendar или Date
Bohodirкак вычислит количество дней между двумя датами без использование существующих библиотек.
Написать свой календарь, знающий о количестве дней в месяцах и о високосных годах..

А существующие сильно медленно работают\сжирают слишком много памяти?
...
Рейтинг: 0 / 0
26.12.2013, 10:34
    #38512848
Garrick
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
количество дней между двумя датами, без использование Calendar или Date
avp.mkBohodirкак вычислит количество дней между двумя датами без использование существующих библиотек.
Написать свой календарь, знающий о количестве дней в месяцах и о високосных годах..

Ещё не забыть про переводы на зимнее/летнее время, т.к. количество часов/минут в эти дни в сутках меняется.
...
Рейтинг: 0 / 0
26.12.2013, 11:32
    #38512891
javapecker
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
количество дней между двумя датами, без использование Calendar или Date
Bohodir, тут посмотрите, там ближе к середине родили пару несложных алгоритмов.
...
Рейтинг: 0 / 0
26.12.2013, 18:00
    #38513475
Bohodir
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
количество дней между двумя датами, без использование Calendar или Date
avp.mkА существующие сильно медленно работают\сжирают слишком много памяти?

Спасибо за ответ, нет просто требование такие.

GarrickЕщё не забыть про переводы на зимнее/летнее время, т.к. количество часов/минут в эти дни в сутках меняется.

Вы правый. Но, Я думаю может надо считать дни в мили секундах с рождения Христа, т.е 0000-00-00 до date1, так же и для date2. Потом сделать минусовую операцию между двумя датами и конвертировать в дни. Но это легко только в словах, все еще работаю над этом.

javapeckerBohodir, тут посмотрите, там ближе к середине родили пару несложных алгоритмов.

Спасибо большое.
...
Рейтинг: 0 / 0
26.12.2013, 18:17
    #38513492
забыл ник
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
количество дней между двумя датами, без использование Calendar или Date
Bohodir
Спасибо за ответ, нет просто требование такие.


Чьи требования? На чем-то же они должны основываться? А зная это можно вам что-то и посоветовать. Выглядит как глупость, если честно
...
Рейтинг: 0 / 0
26.12.2013, 18:24
    #38513495
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
количество дней между двумя датами, без использование Calendar или Date
забыл никЧьи требования? На чем-то же они должны основываться? А зная это можно вам что-то и посоветовать. Выглядит как глупость, если честно
Лабораторная небось.
...
Рейтинг: 0 / 0
26.12.2013, 18:31
    #38513506
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
количество дней между двумя датами, без использование Calendar или Date
Bohodirмили секундах с рождения Христа
Рекомендую вот эти ссылки для первоначального ознакомления с темой
http://ru.wikipedia.org/wiki/Всемирное_координированное_время
http://ru.wikipedia.org/wiki/Григорианский_календарь
http://ru.wikipedia.org/wiki/Юлианский_календарь
...
Рейтинг: 0 / 0
26.12.2013, 18:38
    #38513509
Лагман
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
количество дней между двумя датами, без использование Calendar или Date
для того, чтобы посчитать количество дней , достаточно учесть високосные года и кол-во дней в месяце.
...
Рейтинг: 0 / 0
27.12.2013, 02:36
    #38513778
Bohodir
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
количество дней между двумя датами, без использование Calendar или Date
Blazkowiczзабыл никЧьи требования? На чем-то же они должны основываться? А зная это можно вам что-то и посоветовать. Выглядит как глупость, если честно
Лабораторная небось.

Да лабораторная, а то как Blazkowicz написал "Выглядит как глупость"
...
Рейтинг: 0 / 0
27.12.2013, 05:00
    #38513797
Bohodir
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
количество дней между двумя датами, без использование Calendar или Date
Blazkowiczзабыл никЧьи требования? На чем-то же они должны основываться? А зная это можно вам что-то и посоветовать. Выглядит как глупость, если честно
Лабораторная небось.

Да лабораторная, а то как Blazkowicz написал "Выглядит как глупость"
...
Рейтинг: 0 / 0
27.12.2013, 08:40
    #38513842
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
количество дней между двумя датами, без использование Calendar или Date
BohodirBlazkowiczпропущено...

Лабораторная небось.

Да лабораторная, а то как Blazkowicz написал "Выглядит как глупость"
Как написал?
...
Рейтинг: 0 / 0
27.12.2013, 08:42
    #38513843
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
количество дней между двумя датами, без использование Calendar или Date
BohodirBlazkowiczпропущено...

Лабораторная небось.

Да лабораторная, а то как Blazkowicz написал "Выглядит как глупость"
Как написал?
...
Рейтинг: 0 / 0
27.12.2013, 09:43
    #38513900
Garrick
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
количество дней между двумя датами, без использование Calendar или Date
BohodirВы правый. Но, Я думаю может надо считать дни в мили секундах с рождения Христа, т.е 0000-00-00 до date1, так же и для date2. Потом сделать минусовую операцию между двумя датами и конвертировать в дни.
Вот тут как раз и вылезают эти подлые переводы на зимнее/летнее время. Если такой день попадается в расчётном интервале, то количество дней в периоде между датами будет +/- один день из-за нестандартного количества миллисекунд в сутках.
...
Рейтинг: 0 / 0
27.12.2013, 17:42
    #38514546
Bohodir
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
количество дней между двумя датами, без использование Calendar или Date
BlazkowiczBohodirпропущено...


Да лабораторная, а то как Blazkowicz написал "Выглядит как глупость"
Как написал?

Выглядит как глупость
...
Рейтинг: 0 / 0
27.12.2013, 23:03
    #38514815
Лагман
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
количество дней между двумя датами, без использование Calendar или Date
Garrick,

Why do u care of seconds, while OP is asking about the number of DAYS ?
...
Рейтинг: 0 / 0
28.12.2013, 12:47
    #38514935
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
количество дней между двумя датами, без использование Calendar или Date
BohodirВыглядит как глупость
Хамло.
...
Рейтинг: 0 / 0
28.12.2013, 14:09
    #38514973
Bohodir
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
количество дней между двумя датами, без использование Calendar или Date
BlazkowiczBohodirВыглядит как глупость
Хамло.

Прошу прошения вы наверно меня не так поняли, я имел ввиду что мой вопрос выглядит как глупость. Что вы правильно заметяли.
...
Рейтинг: 0 / 0
30.12.2013, 09:15
    #38515663
Garrick
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
количество дней между двумя датами, без использование Calendar или Date
ЛагманGarrick,

Why do u care of seconds, while OP is asking about the number of DAYS ?
Потому, что автор предполагает хранить дату в миллисекундах, так же как и java.util.Date хранится в long, и производить преобразование этого значения в дни
см. 15351625 . т.е. делить кол-во миллисекунд на некую константу (кол-во миллисекунд в сутках). Возможные проблемы я описал выше.
...
Рейтинг: 0 / 0
30.12.2013, 16:16
    #38515998
vtk.m
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
количество дней между двумя датами, без использование Calendar или Date
Bohodir,

Юзай Yoda-Time и будет тебе счастье, желательно не использовать не Data и не Calendar с ними возникают проблемы...
...
Рейтинг: 0 / 0
08.01.2014, 15:25
    #38519558
chabapok
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
количество дней между двумя датами, без использование Calendar или Date
Если нельзя пользоваться библиотечными, я бы взял необходимые классы из исходников openjdk и не парил себе мозг.
Потому, что точно посчитать такое вообще невозможно для общего случая. Если мы уж начинаем говорить про летнее зимнее, то можно вспомнить и о високосных секундах.

Високосные секунды вводятся "по ходу дела" на основании измерений вращения земли, и они могут быть как положительными так и отрицательными. И в будущем они будут вводиться все чаще из за замедления вращения земли. И мы не можем точно предугадать когда они будут введены, поэтому на каждый год может накапливаться погрешность, которая на длительных периодах может стать весьма большой...

Таким образом, всегда можно пристебаться к результатам полученым прогрммой, манипулирующей секундами и более короткими временными интервалами. Кое-как еще можно верить прошлому, и то надо учитывать что переход от старого стиля к новому в разных странах был в разное время, кроме того в разных странах свои приколы с летним-зимним временем.

Если это все некритично, то ИМХО проще всего игнорировать все это и не парить мозг, перевести обе даты в секунды, взять их разницу, и разделить ее на 86400 это даст дни. Но если углубляться во все тонкости, то там все получается очень хитро (и большинстве случаев не нужно).
...
Рейтинг: 0 / 0
08.01.2014, 15:45
    #38519584
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
количество дней между двумя датами, без использование Calendar или Date
chabapok,

"Высокосная секунда" появляется на столько редко, что на количество дней между двумя датами она повлияет ещё не скоро.
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / количество дней между двумя датами, без использование Calendar или Date / 25 сообщений из 26, страница 1 из 2
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]