Страница 1 из 2

Дата, время, сравнение, получение, установка.

Добавлено: 16 сен 2012, 17:38
powercat
Еще раз повторюсь - гори в аду, создатель этого говна!!! НИХАУ не понятно!!!
Напридумывали всякой хрени с временем, DATE, CALENDAR, MILIS...
Что, как, зачем??

Теперь вопросы для уроков ))

1. Как получить ЧАС (без минут), т.е. в переменной должен быть только час, без отсчета от 1970 года;
2. То же, только с минутами;
3. То же, только с секундами;
1,2,3 нужно для того, чтобы можно было сравнить их

4. Работа с датами (без часов, минут, секунд, милисекунд);
5. Действия со всем этим хозяйством - сложение, вычитание и т.д...только ДЕЙСТВИЯ, без формата отображения;
6. Собственно - формат отображения желаемый (без действий).

Блин...столько всего перечитал, но так и не разобрался в этой мути - не могу ПОЛУЧИТЬ две переменных с часами, дабы сравнить их...бля...создатели куевы...

Re: Дата, время, сравнение, получение, установка.

Добавлено: 16 сен 2012, 18:03
neoksi
Не надо ругаться на создателей, если со стандартами не знаком, почитай теорию о UnixTimeStamp и станет тебе все понятно, это универсальная штука и используется во многих языках программирования.

Re: Дата, время, сравнение, получение, установка.

Добавлено: 16 сен 2012, 18:32
powercat
Да я чего только не прочитал...везде все по-разному...Билать!
Где-кто-что советует..кто-то Дэйт, кто-то Календар, и внутри у них все от раза к разу разное...жесть...

Re: Дата, время, сравнение, получение, установка.

Добавлено: 16 сен 2012, 19:28
rezak90
ну ты даёшь. Например класс Date может возвращать от секунды до года, возвращает в тип int - вытягиваешь с двух дат например getMinutes() и сравниваешь. Если полностью дату сравнить то есть методы compareTo.
Какие ещё книги нужны? достаточно посмотреть справку по яве на oracle =)
И на счёт "создателя этого говна". Как можно назвать гавном то что пишется в одну строку? Куда уж проще то?

Re: Дата, время, сравнение, получение, установка.

Добавлено: 16 сен 2012, 20:16
powercat
Проще - когда ОДНОЗНАЧНО все, а тут аж несколько подходов.
Справки написаны так, что посторонний не поймет ((( я собственно, не понимаю.

Да не надо общих слов, все равно я так не понимаю, буду ждать урока на эту тему.

Re: Дата, время, сравнение, получение, установка.

Добавлено: 16 сен 2012, 22:56
Mikhail_dev
Извини, но с таким подходом тебе вряд ли что-то поможет. Могу посоветовать только сменить профессию.
А материть создателей, это крайне неблагодарно. Напиши свой велосипед. Ноу проблем.

Re: Дата, время, сравнение, получение, установка.

Добавлено: 16 сен 2012, 23:37
neoksi
Зри в корень, а корень это стандарт, клендарь и дейт это уже оболочки, каждый использует то, что ему удобней в каждом случае.

Re: Дата, время, сравнение, получение, установка.

Добавлено: 17 сен 2012, 11:02
powercat
no-- писал(а):Извини, но с таким подходом тебе вряд ли что-то поможет. Могу посоветовать только сменить профессию.
А материть создателей, это крайне неблагодарно. Напиши свой велосипед. Ноу проблем.
Пока вроде справляюсь, но брожу, как в потьмах...
Неблагодарно говоришь...а делать что-то, без чего не получается обойтись, но при этом делать кое-как - это нормально?
Почему я, когда разрабатываю методику расчетов, то пишу ее шаг-за-шагом, а не как в стандартных советских учебниках - см формулу из книги-хрен-знает-где-найдешь, т.е. у меня все в одном месте и не надо метаться, что-то искать...и все однозначно, не надо гадать, что же выбрать и как с этим работать...

Почему нужно разбираться в глубинах, когда инструмент ДОЛЖЕН быть удобным? Перефразирую - ВСЕ случаи применения ДОЛЖНЫ быть рассмотрены в примерах разработчиков софта. А пока я только вижу МАССУ вопросов (даже не моих) - что и как использовать для работы с датами/часами...что ж - всем менять работу? Или все же может разработчикам делать ПОНЯТНЫЕ инструменты?

Даже учебники разных авторов...посмотрите, как они написаны - говно...10-я часть, особенно в начале - благодарности и пустой треп...Да и слова "подходит как для опытных, так и для начинающих", а начинаешь чатать - сразу ПОТОКИ, ПРОЦЕССЫ, СТЕКИ...ну, бля, да...для начинающих...

Re: Дата, время, сравнение, получение, установка.

Добавлено: 17 сен 2012, 11:34
math64
Сложности работы со временем - из-за того, что в реальной жизни с часами и календарём напридумывали: григорианский и юлианский календарь, часовые пояса, зимнее и летнее время, високосные секунды и т. д.
В Java первоначально появился класс Date. Но в нём не было работы со всем вышеупомянутом. Поэтому появился класс Calendar, а методы класса Date для определения часов, минут, секунд и т.д. объявлены Deprecated. Всё это было до появления Android.
Android взял всё это как есть, без всяких упрощений, чтобы можно было использовать код написанный на Java.

Re: Дата, время, сравнение, получение, установка.

Добавлено: 17 сен 2012, 12:24
powercat
Так чем же все ж пользоваться? Дэйт или Календар?

Re: Дата, время, сравнение, получение, установка.

Добавлено: 17 сен 2012, 12:56
math64
И тем, и другим. Date используется для хранения времени; Calendar для перевода его в человеческий вид. Но хранить можно в виде long - число миллисекунд от 1.01.1970 00:00:00 GMT.

Re: Посмотрите свежим взглядом - Формат даты

Добавлено: 16 янв 2013, 17:37
Foenix
Люди, посмотрите свежим взглядом, где у меня ошибка

Код: Выделить всё

String sdt_ = DateFormat.format("yyyyMMdd  HH:mm", dt_).toString();
Логи

Код: Выделить всё

01-16 14:31:13.308: D/ThS(25810): dt_ = Wed Jan 16 13:28:00 GMT+00:00 2013
01-16 14:31:23.758: D/ThS(25810): sdt_ = 20130116  HH:28
Не пойму, почему HH вместо часов-то??

Если пишу hh - то выходит на печать 01, а мне 13 надо..

UPD
разобралась, надо ставить kk

Re: Дата, время, сравнение, получение, установка.

Добавлено: 16 янв 2013, 22:31
Foenix
вот, не туда :(

Re: Дата, время, сравнение, получение, установка.

Добавлено: 17 янв 2013, 00:31
neoksi
Попробуй так.

Код: Выделить всё

SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd  HH:mm");
String sdt_= sdf.format(dt_);

Re: Дата, время, сравнение, получение, установка.

Добавлено: 17 янв 2013, 13:48
Foenix
да, это тоже работает, я уже проверяла.

Re: Дата, время, сравнение, получение, установка.

Добавлено: 11 фев 2015, 19:01
wasiliysoft
Ткните носом где можно почитать как реализовать функцию "тихие часы" понимаю что нужно сравнить текущее время со временем выбранным пользователем но
1- как хранить время выбранное пользователем?
2 - как его сравнивать с текущим?

Re: Дата, время, сравнение, получение, установка.

Добавлено: 11 фев 2015, 19:22
doter.ua
wasiliysoft писал(а):Ткните носом где можно почитать как реализовать функцию "тихие часы" понимаю что нужно сравнить текущее время со временем выбранным пользователем но
1- как хранить время выбранное пользователем?
2 - как его сравнивать с текущим?
Лонгом в sharedPreferences, сравнивать можно по разному. (пс не намудри с часовыми поясами). Почитай про класс Calendar

Re: Дата, время, сравнение, получение, установка.

Добавлено: 11 фев 2015, 20:17
wasiliysoft
doter.ua писал(а):
wasiliysoft писал(а):Ткните носом где можно почитать как реализовать функцию "тихие часы" понимаю что нужно сравнить текущее время со временем выбранным пользователем но
1- как хранить время выбранное пользователем?
2 - как его сравнивать с текущим?
Лонгом в sharedPreferences, сравнивать можно по разному. (пс не намудри с часовыми поясами). Почитай про класс Calendar
А ещё более детально? В конечном итоге нужно сравнить текущее и время которое установил пользователь, он должен поставить время начала и окончания тихих часов(ночь грубо говоря) и если текущее время не попадает в этот промежуток то уведомления приходят со звуком иначе беззвучно

Re: Дата, время, сравнение, получение, установка.

Добавлено: 11 фев 2015, 20:57
wasiliysoft
а всё, сообразил, чуть позже напишу решение если оно сработает так как надо)

Re: Дата, время, сравнение, получение, установка.

Добавлено: 11 фев 2015, 21:04
doter.ua
wasiliysoft писал(а):
doter.ua писал(а):
wasiliysoft писал(а):Ткните носом где можно почитать как реализовать функцию "тихие часы" понимаю что нужно сравнить текущее время со временем выбранным пользователем но
1- как хранить время выбранное пользователем?
2 - как его сравнивать с текущим?
Лонгом в sharedPreferences, сравнивать можно по разному. (пс не намудри с часовыми поясами). Почитай про класс Calendar
А ещё более детально? В конечном итоге нужно сравнить текущее и время которое установил пользователь, он должен поставить время начала и окончания тихих часов(ночь грубо говоря) и если текущее время не попадает в этот промежуток то уведомления приходят со звуком иначе беззвучно
НТЧ - Начало Тихих часов.
КТЧ - Конец Тихих часов.
Если КТЧ < НТЧ, тогда проверяй текущее время на принадлежность промежутку от НТЧ до 23:59 + от 0:0 до КТЧ.
Если КТЧ > НТЧ, тогда все просто: промежуток от НТЧ до КТЧ.

Код: Выделить всё

//Текущее время
Calendar now = Calendar.getInstance( TimeZone.getDefault() );
int hour = now.get(Calendar.HOUR_OF_DAY);
int minute = now.get(Calendar.MINUTE);
int second = now.get(Calendar.SECOND);
int millis = now.get(Calendar.MILLISECOND);

// Юзерское время  
now.setTimeInMillis( сохраненные в long мс );
int minute = now.get(Calendar.MINUTE);
int second = now.get(Calendar.SECOND);
int millis =  now.get(Calendar.MILLISECOND);