powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / установить дату
25 сообщений из 52, страница 2 из 3
установить дату
    #38148143
IDVsbruck
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мне так нравится как "базисты" относятся к объекту типа дата (время/дата-время и т.д.) ... )))
Для базы это фактически такой же "примитив", как и чисто, строка и прочие. Для ЯП и тем более ООЯП это достаточно сложный объект. И я не понимаю, почему для установки этого достаточно "сложного" объекта ОБЯЗАНА быть функция/метод длиной в 5 символов и не более одной строки? И чем так плох Calendar, особенно если учесть тот факт, что напрямую вызвать new нельзя, только использование инстанса? Что-то не понимаю я ряд товарищей ...
...
Рейтинг: 0 / 0
установить дату
    #38148349
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. Sidorovchpashaдело в том, что лениво и не лаконично для того чтобы прибавить к дате два дняПлохо понимаю, в чём проблема прибавить два разА по 86400 секунд.
Если уж работаем с Date.
Нельзя брадт. Неконцептуально. Делай в рамках технологии. Тобишь создавай календарь...
...
Рейтинг: 0 / 0
установить дату
    #38148358
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
chpashaа если месяц? будем писать код вида 30*86400, а год? супротив DateUtils.addMonths(date, 1)?Не надо объямывать необъятное и впихивать невпихуевоемое :)
java.util.Date это время, а время и календарные даты плохо сочетаются.
...
Рейтинг: 0 / 0
установить дату
    #38148361
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonДелай в рамках технологии.Читал в детстве "Юный техник" и была в нём статья "Допуски и посадки".
Очень познавательно - втулка одного диаметра с отверстием могут быть от "теплоходовая" до "глухая посадка".
Строго в рамках технологии и класса точности.
...
Рейтинг: 0 / 0
установить дату
    #38148422
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не спорю. Юный техник уважаю. Но в основе JDK очевидно стоит какая-то идея
или идеология. И она (идея) должна помогать разработке. В чем помогает введение
календаря - я не знаю. Мне оно не помогает.
...
Рейтинг: 0 / 0
установить дату
    #38148430
chpasha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. Sidorovchpashaа если месяц? будем писать код вида 30*86400, а год? супротив DateUtils.addMonths(date, 1)?Не надо объямывать необъятное и впихивать невпихуевоемое :)
все объято уже до нас и до нас же впихуенно, потому приходится иметь дело с Date тут и сям. и нет, Date это не время, это точка во времени с точностью до миллисекунд. а Calendar официальный конвертер для нее. т.е. можно сказать, что Date вполне себе сочетается с календарными датами через Calendar.
но мы можем еще немного поспорить о
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
date.getTime() + 30*86400

vs

Calendar c = Calendar.getInstance();
c.setTime(date);
c.add(Calendar.MONTH,1);
c.getTime();

vs

DateUtils.addMonths(date, 1)
...
Рейтинг: 0 / 0
установить дату
    #38148434
chpasha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonНе спорю. Юный техник уважаю. Но в основе JDK очевидно стоит какая-то идея
или идеология. И она (идея) должна помогать разработке. В чем помогает введение
календаря - я не знаю. Мне оно не помогает.
он предназначен для манипуляции с датой. т.е. Date это тип данных, а Calendar это набор операторов над этим типом данных. Собственно топик был о том, что в силу своей нелаконичности удобней пользоваться врапперами над Calendar, commons.lang как простейший вариант, ну или joda time, если много сложных манипуляций.
...
Рейтинг: 0 / 0
установить дату
    #38148450
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
chpasha, ораклоиды над нами будут смеяться. Почему у них нет проблем?
Что тип DATE настолько сложен и инкапсулирует в себе тонну логики?
Чем он лучше чем java.util.Date?

Я уже не спорю по поводу функционала Календаря. Я задаю другой вопрос.

Почему у них не так? И почеу у них нет проблем?
...
Рейтинг: 0 / 0
установить дату
    #38148513
chpasha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonchpasha, ораклоиды над нами будут смеяться. Почему у них нет проблем?
а у нас они есть?

maytonЧто тип DATE настолько сложен и инкапсулирует в себе тонну логики?
Чем он лучше чем java.util.Date?
ничем

maytonЯ уже не спорю по поводу функционала Календаря. Я задаю другой вопрос.
Почему у них не так?
я оракл не знаю, но по-моему pl/sql процедурный нет? т.е. есть некая функция типа datepart(date,'month'), а ява объектная и у нас Calendar.get(Calendar.MONTH). ну у них перегрузка операторов есть, ок.

mayton И почеу у них нет проблем?
у нас тоже их нет. в чем проблема-то лично у тебя? лично я проблему вижу только в том, что раньше Calendar не было, и народ повсюду юзал Date. теперь Calendar есть, а коду с Date уже понаписано, вот и приходится крутиться.
...
Рейтинг: 0 / 0
установить дату
    #38149019
sanBez
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonchpasha, ораклоиды над нами будут смеяться. Почему у них нет проблем?
Что тип DATE настолько сложен и инкапсулирует в себе тонну логики?
Чем он лучше чем java.util.Date?

Я уже не спорю по поводу функционала Календаря. Я задаю другой вопрос.

Почему у них не так? И почеу у них нет проблем?

Ну почему же нет проблем? До отмены перевода времени в России было очень интересно пройтись в pl/sql по суткам перевода. В цикле, добавляя час к предыдущей дате.
Как второй прикол: записать в базу на сутки перевода лето-зима значения: на 2 часа ночи (первое) и после возврата стрелок на час назад (второе). Или вытащить их как уникальные, не помню точно....

И вообще споры о том что лучше: оракловая Date или java.util.Date выглядят интересно, если учесть что при маппинге первое маппируется на второе :)

И по поводу "нет проблем"...
TIMESTAMP , TIMESTAMP WITH TIME ZONE, TIMESTAMP WITH LOCAL TIME ZONE имхо появились в оракле совсем не от того что нет проблем. Хотя с таймзонами это уже наверно другая песня...
...
Рейтинг: 0 / 0
установить дату
    #38149061
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sanBezэто уже наверно другая песня
другая. Т.к. там вприкладном коде верхнего уровня задумываться об этом не надо. Есть настройки сервера.
А уж дело админа конфигурировать.
Веселье с таймзонами
imho
...
Рейтинг: 0 / 0
установить дату
    #38149222
leader
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonКак решаетают эту задачу в Oracle (уже лет 20).
Как решают эту задачу в Java... я не знаю. Наверное любители
ООП - мозохисты. Им нравится плодить сущности где надо и где
не надо. Я не спроста поинтересовался почему-бы не создать
объект "Солнечная Систем" и взять из него объект "Планета Земля"
и взять календарь e.t.c.

ага, кое-кто тут уже два дня плодит свои сущности на форуме по поводу, который не стоит выеденного яйца
...
Рейтинг: 0 / 0
установить дату
    #38149277
Лагман
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sanBez,

поэтому как правило те кто уже набил шишки , хранят дату в GMT+0 или вообще в NUMBER, и переводят в локальную таймзону и обратно на клиенте
...
Рейтинг: 0 / 0
установить дату
    #38149366
sanBez
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЛагманsanBez,

поэтому как правило те кто уже набил шишки , хранят дату в GMT+0 или вообще в NUMBER, и переводят в локальную таймзону и обратно на клиенте

Вот именно. GMT+0 рулит. Только если не ошибаюсь это уже не Date, а Timestamp (не помню точно давно было).
...
Рейтинг: 0 / 0
установить дату
    #38149539
IDVsbruck
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Угу. Если поле типа Date, то база запишет дату "как есть". Если Timestamp - с поправкой на разницу времени между клиентом и сервером. Регулярно сталкиваюсь с этим при работе с канадскими серверами. Однозначно Timestamp.

P.S. Исключение может составить случай, когда есть Temporal-поле (автовставка даты базой).
...
Рейтинг: 0 / 0
установить дату
    #38150211
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IDVsbruckУгу. Если поле типа Date, то база запишет дату "как есть".А это, батенька, зависит исключительно от базы.
Тот же пророческий date это, фактически, timestamp(0).
И даже там, где date это именно дата, часовой пояс может и, вообще говоря, должен учитываться.
...
Рейтинг: 0 / 0
установить дату
    #38150215
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
chpashaно мы можем еще немного поспорить о
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
date.getTime() + 30*86400

vs

Calendar c = Calendar.getInstance();
c.setTime(date);
c.add(Calendar.MONTH,1);
c.getTime();

vs

DateUtils.addMonths(date, 1)

Здесь нет предмета для спора. Вообще.
Астрономическое явление, лежащие в основе (григорианского) календаря (солнечный год) никоим боком не связаны с астрономическим явлением, лежащим в основе времени (солнечные сутки).
По этой тривиальной причине операция "добавить месяц" и операция "добавить 30*86400" - неэквивалентны.
Если вы расхождение результатов вас устраивает - вы можете использовать любую из операций.
Но было бы не худо понимать, что операции над календарём и над временем - разные операции.
...
Рейтинг: 0 / 0
установить дату
    #38150216
IDVsbruck
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Учитывая, что мы говорим в разделе Java и в контексте обсуждения этого языка, это имеет не такое большое значение. Хотя, возможно, ты и прав ... но на опыте могу сказать, что SQL Server и MySQL пишут Date именно так - "как есть". Ну, а раз они так делают ...
...
Рейтинг: 0 / 0
установить дату
    #38150221
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonchpasha, ораклоиды над нами будут смеяться. Почему у них нет проблем?Вы как-то выборочно читаете соседние форумы.
Есть вполне пространные ветки, описывающие как бороться изменениями правил перехода на летнее время.
...
Рейтинг: 0 / 0
установить дату
    #38150229
chpasha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. SidorovПо этой тривиальной причине операция "добавить месяц" и операция "добавить 30*86400" - неэквивалентны.

это все прекрасно, если бы не одно но - уже не помню кто сказал, что плохо понимает, почему нельзя добавить два дня как "два разА по 86400 секунд". теперь ситуация напоминает анекдот про студента, выучившего только билет про блох.
...
Рейтинг: 0 / 0
установить дату
    #38150242
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
chpashaэто все прекрасно, если бы не одно но - уже не помню кто сказал, что плохо понимает, почему нельзя добавить два дня как "два разА по 86400 секунд".Я плохо понимаю именно потому, что хорошо понимаю ещё и другие вещи.
...
Рейтинг: 0 / 0
установить дату
    #38150248
chpasha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. Sidorovchpashaэто все прекрасно, если бы не одно но - уже не помню кто сказал, что плохо понимает, почему нельзя добавить два дня как "два разА по 86400 секунд".Я плохо понимаю именно потому, что хорошо понимаю ещё и другие вещи.ну так давай поговорим о том почему плохо добавить два дня как "два разА по 86400 секунд", а не почему блохи не живут на китах.
...
Рейтинг: 0 / 0
установить дату
    #38151809
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
chpashaну так давай поговорим о том почему плохо добавить два дня как "два разА по 86400 секунд"Говорите, слушаю.
...
Рейтинг: 0 / 0
установить дату
    #38151836
chpasha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. Sidorovchpashaну так давай поговорим о том почему плохо добавить два дня как "два разА по 86400 секунд"Говорите, слушаю.
write-only код, нуждающийся в комментариях или введении констант вида HOUR_IN_MILLIS, DAY_IN_MILLIS и т.д. этого достаточно?
...
Рейтинг: 0 / 0
установить дату
    #38154806
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
chpashawrite-only код, нуждающийся в комментариях или введении констант вида HOUR_IN_MILLIS, DAY_IN_MILLIS и т.д. этого достаточно?Т.е. Math.PI/Math.E вы не используете из принципиальных соображений?

P.S. Мне всегда казалось, что код вида "... (86400 * 1000) ..." - не нуждается в комментариях.
...
Рейтинг: 0 / 0
25 сообщений из 52, страница 2 из 3
Форумы / Java [игнор отключен] [закрыт для гостей] / установить дату
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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