|
|
|
установить дату
|
|||
|---|---|---|---|
|
#18+
Мне так нравится как "базисты" относятся к объекту типа дата (время/дата-время и т.д.) ... ))) Для базы это фактически такой же "примитив", как и чисто, строка и прочие. Для ЯП и тем более ООЯП это достаточно сложный объект. И я не понимаю, почему для установки этого достаточно "сложного" объекта ОБЯЗАНА быть функция/метод длиной в 5 символов и не более одной строки? И чем так плох Calendar, особенно если учесть тот факт, что напрямую вызвать new нельзя, только использование инстанса? Что-то не понимаю я ряд товарищей ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.02.2013, 16:46:05 |
|
||
|
установить дату
|
|||
|---|---|---|---|
|
#18+
Basil A. Sidorovchpashaдело в том, что лениво и не лаконично для того чтобы прибавить к дате два дняПлохо понимаю, в чём проблема прибавить два разА по 86400 секунд. Если уж работаем с Date. Нельзя брадт. Неконцептуально. Делай в рамках технологии. Тобишь создавай календарь... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.02.2013, 18:04:54 |
|
||
|
установить дату
|
|||
|---|---|---|---|
|
#18+
chpashaа если месяц? будем писать код вида 30*86400, а год? супротив DateUtils.addMonths(date, 1)?Не надо объямывать необъятное и впихивать невпихуевоемое :) java.util.Date это время, а время и календарные даты плохо сочетаются. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.02.2013, 18:07:52 |
|
||
|
установить дату
|
|||
|---|---|---|---|
|
#18+
maytonДелай в рамках технологии.Читал в детстве "Юный техник" и была в нём статья "Допуски и посадки". Очень познавательно - втулка одного диаметра с отверстием могут быть от "теплоходовая" до "глухая посадка". Строго в рамках технологии и класса точности. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.02.2013, 18:11:46 |
|
||
|
установить дату
|
|||
|---|---|---|---|
|
#18+
Не спорю. Юный техник уважаю. Но в основе JDK очевидно стоит какая-то идея или идеология. И она (идея) должна помогать разработке. В чем помогает введение календаря - я не знаю. Мне оно не помогает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.02.2013, 18:53:21 |
|
||
|
установить дату
|
|||
|---|---|---|---|
|
#18+
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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.02.2013, 19:01:37 |
|
||
|
установить дату
|
|||
|---|---|---|---|
|
#18+
maytonНе спорю. Юный техник уважаю. Но в основе JDK очевидно стоит какая-то идея или идеология. И она (идея) должна помогать разработке. В чем помогает введение календаря - я не знаю. Мне оно не помогает. он предназначен для манипуляции с датой. т.е. Date это тип данных, а Calendar это набор операторов над этим типом данных. Собственно топик был о том, что в силу своей нелаконичности удобней пользоваться врапперами над Calendar, commons.lang как простейший вариант, ну или joda time, если много сложных манипуляций. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.02.2013, 19:06:46 |
|
||
|
установить дату
|
|||
|---|---|---|---|
|
#18+
chpasha, ораклоиды над нами будут смеяться. Почему у них нет проблем? Что тип DATE настолько сложен и инкапсулирует в себе тонну логики? Чем он лучше чем java.util.Date? Я уже не спорю по поводу функционала Календаря. Я задаю другой вопрос. Почему у них не так? И почеу у них нет проблем? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.02.2013, 19:30:00 |
|
||
|
установить дату
|
|||
|---|---|---|---|
|
#18+
maytonchpasha, ораклоиды над нами будут смеяться. Почему у них нет проблем? а у нас они есть? maytonЧто тип DATE настолько сложен и инкапсулирует в себе тонну логики? Чем он лучше чем java.util.Date? ничем maytonЯ уже не спорю по поводу функционала Календаря. Я задаю другой вопрос. Почему у них не так? я оракл не знаю, но по-моему pl/sql процедурный нет? т.е. есть некая функция типа datepart(date,'month'), а ява объектная и у нас Calendar.get(Calendar.MONTH). ну у них перегрузка операторов есть, ок. mayton И почеу у них нет проблем? у нас тоже их нет. в чем проблема-то лично у тебя? лично я проблему вижу только в том, что раньше Calendar не было, и народ повсюду юзал Date. теперь Calendar есть, а коду с Date уже понаписано, вот и приходится крутиться. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.02.2013, 20:35:48 |
|
||
|
установить дату
|
|||
|---|---|---|---|
|
#18+
maytonchpasha, ораклоиды над нами будут смеяться. Почему у них нет проблем? Что тип DATE настолько сложен и инкапсулирует в себе тонну логики? Чем он лучше чем java.util.Date? Я уже не спорю по поводу функционала Календаря. Я задаю другой вопрос. Почему у них не так? И почеу у них нет проблем? Ну почему же нет проблем? До отмены перевода времени в России было очень интересно пройтись в pl/sql по суткам перевода. В цикле, добавляя час к предыдущей дате. Как второй прикол: записать в базу на сутки перевода лето-зима значения: на 2 часа ночи (первое) и после возврата стрелок на час назад (второе). Или вытащить их как уникальные, не помню точно.... И вообще споры о том что лучше: оракловая Date или java.util.Date выглядят интересно, если учесть что при маппинге первое маппируется на второе :) И по поводу "нет проблем"... TIMESTAMP , TIMESTAMP WITH TIME ZONE, TIMESTAMP WITH LOCAL TIME ZONE имхо появились в оракле совсем не от того что нет проблем. Хотя с таймзонами это уже наверно другая песня... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2013, 10:57:15 |
|
||
|
установить дату
|
|||
|---|---|---|---|
|
#18+
sanBezэто уже наверно другая песня другая. Т.к. там вприкладном коде верхнего уровня задумываться об этом не надо. Есть настройки сервера. А уж дело админа конфигурировать. Веселье с таймзонами imho ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2013, 11:20:40 |
|
||
|
установить дату
|
|||
|---|---|---|---|
|
#18+
maytonКак решаетают эту задачу в Oracle (уже лет 20). Как решают эту задачу в Java... я не знаю. Наверное любители ООП - мозохисты. Им нравится плодить сущности где надо и где не надо. Я не спроста поинтересовался почему-бы не создать объект "Солнечная Систем" и взять из него объект "Планета Земля" и взять календарь e.t.c. ага, кое-кто тут уже два дня плодит свои сущности на форуме по поводу, который не стоит выеденного яйца ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2013, 12:35:35 |
|
||
|
установить дату
|
|||
|---|---|---|---|
|
#18+
sanBez, поэтому как правило те кто уже набил шишки , хранят дату в GMT+0 или вообще в NUMBER, и переводят в локальную таймзону и обратно на клиенте ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2013, 12:56:45 |
|
||
|
установить дату
|
|||
|---|---|---|---|
|
#18+
ЛагманsanBez, поэтому как правило те кто уже набил шишки , хранят дату в GMT+0 или вообще в NUMBER, и переводят в локальную таймзону и обратно на клиенте Вот именно. GMT+0 рулит. Только если не ошибаюсь это уже не Date, а Timestamp (не помню точно давно было). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2013, 13:30:14 |
|
||
|
установить дату
|
|||
|---|---|---|---|
|
#18+
Угу. Если поле типа Date, то база запишет дату "как есть". Если Timestamp - с поправкой на разницу времени между клиентом и сервером. Регулярно сталкиваюсь с этим при работе с канадскими серверами. Однозначно Timestamp. P.S. Исключение может составить случай, когда есть Temporal-поле (автовставка даты базой). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2013, 14:26:56 |
|
||
|
установить дату
|
|||
|---|---|---|---|
|
#18+
IDVsbruckУгу. Если поле типа Date, то база запишет дату "как есть".А это, батенька, зависит исключительно от базы. Тот же пророческий date это, фактически, timestamp(0). И даже там, где date это именно дата, часовой пояс может и, вообще говоря, должен учитываться. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2013, 19:41:01 |
|
||
|
установить дату
|
|||
|---|---|---|---|
|
#18+
chpashaно мы можем еще немного поспорить о Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. Здесь нет предмета для спора. Вообще. Астрономическое явление, лежащие в основе (григорианского) календаря (солнечный год) никоим боком не связаны с астрономическим явлением, лежащим в основе времени (солнечные сутки). По этой тривиальной причине операция "добавить месяц" и операция "добавить 30*86400" - неэквивалентны. Если вы расхождение результатов вас устраивает - вы можете использовать любую из операций. Но было бы не худо понимать, что операции над календарём и над временем - разные операции. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2013, 19:47:45 |
|
||
|
установить дату
|
|||
|---|---|---|---|
|
#18+
Учитывая, что мы говорим в разделе Java и в контексте обсуждения этого языка, это имеет не такое большое значение. Хотя, возможно, ты и прав ... но на опыте могу сказать, что SQL Server и MySQL пишут Date именно так - "как есть". Ну, а раз они так делают ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2013, 19:48:43 |
|
||
|
установить дату
|
|||
|---|---|---|---|
|
#18+
maytonchpasha, ораклоиды над нами будут смеяться. Почему у них нет проблем?Вы как-то выборочно читаете соседние форумы. Есть вполне пространные ветки, описывающие как бороться изменениями правил перехода на летнее время. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2013, 19:50:31 |
|
||
|
установить дату
|
|||
|---|---|---|---|
|
#18+
Basil A. SidorovПо этой тривиальной причине операция "добавить месяц" и операция "добавить 30*86400" - неэквивалентны. это все прекрасно, если бы не одно но - уже не помню кто сказал, что плохо понимает, почему нельзя добавить два дня как "два разА по 86400 секунд". теперь ситуация напоминает анекдот про студента, выучившего только билет про блох. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2013, 19:59:32 |
|
||
|
установить дату
|
|||
|---|---|---|---|
|
#18+
chpashaэто все прекрасно, если бы не одно но - уже не помню кто сказал, что плохо понимает, почему нельзя добавить два дня как "два разА по 86400 секунд".Я плохо понимаю именно потому, что хорошо понимаю ещё и другие вещи. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2013, 20:11:13 |
|
||
|
установить дату
|
|||
|---|---|---|---|
|
#18+
Basil A. Sidorovchpashaэто все прекрасно, если бы не одно но - уже не помню кто сказал, что плохо понимает, почему нельзя добавить два дня как "два разА по 86400 секунд".Я плохо понимаю именно потому, что хорошо понимаю ещё и другие вещи.ну так давай поговорим о том почему плохо добавить два дня как "два разА по 86400 секунд", а не почему блохи не живут на китах. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2013, 20:17:34 |
|
||
|
установить дату
|
|||
|---|---|---|---|
|
#18+
chpashaну так давай поговорим о том почему плохо добавить два дня как "два разА по 86400 секунд"Говорите, слушаю. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2013, 18:44:49 |
|
||
|
установить дату
|
|||
|---|---|---|---|
|
#18+
Basil A. Sidorovchpashaну так давай поговорим о том почему плохо добавить два дня как "два разА по 86400 секунд"Говорите, слушаю. write-only код, нуждающийся в комментариях или введении констант вида HOUR_IN_MILLIS, DAY_IN_MILLIS и т.д. этого достаточно? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2013, 18:58:21 |
|
||
|
установить дату
|
|||
|---|---|---|---|
|
#18+
chpashawrite-only код, нуждающийся в комментариях или введении констант вида HOUR_IN_MILLIS, DAY_IN_MILLIS и т.д. этого достаточно?Т.е. Math.PI/Math.E вы не используете из принципиальных соображений? P.S. Мне всегда казалось, что код вида "... (86400 * 1000) ..." - не нуждается в комментариях. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.02.2013, 19:47:06 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=38148143&tid=2129950]: |
0ms |
get settings: |
21ms |
get forum list: |
30ms |
check forum access: |
8ms |
check topic access: |
8ms |
track hit: |
63ms |
get topic data: |
25ms |
get forum data: |
6ms |
get page messages: |
122ms |
get tp. blocked users: |
3ms |
| others: | 333ms |
| total: | 619ms |

| 0 / 0 |
