DatePicker, получить дату

Интерфейс, диалоги, темы, стили, меню
Закрыто
DeMoZ
Сообщения: 17
Зарегистрирован: 26 мар 2013, 05:10

DatePicker, получить дату

Сообщение DeMoZ » 01 апр 2013, 05:16

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

textview.setText(String.valueOf(datepicer.getDayOfMonth())+"."+String.valueOf(datepicer.getMonth())+"."+String.valueOf(datepicer.getYear()));
я поискал, но не нашел встроенного метода, чтобы подобный вывод сделать одним запросом, а не тремя.

и еще, если я собираюсь в дальнейшем хранить дату в SQL и делать сортировку, то дату мне лучше хранить в каком формате- число типа 1212343452345 , или строка типа 10.03.2013, или есть специальный формат даты?
как дату в нужном формате взять из DatePicker?

Аватара пользователя
neoksi
Сообщения: 712
Зарегистрирован: 26 июл 2012, 10:42
Контактная информация:

Re: DatePicker, получить дату

Сообщение neoksi » 01 апр 2013, 05:45

DeMoZ
Дату лучше всего хранить в формате unix timestamp.

Аватара пользователя
Foenix
Сообщения: 4201
Зарегистрирован: 20 окт 2012, 12:01

Re: DatePicker, получить дату

Сообщение Foenix » 01 апр 2013, 07:09

Сортировка получится нормально, если дату хранить в формате ГГГГММДД - так будет удобочитаемо, если что.
Для формирования можно использовать объект Calendar и DateFormat-ы всякие..
R.id.team

NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198

Аватара пользователя
neoksi
Сообщения: 712
Зарегистрирован: 26 июл 2012, 10:42
Контактная информация:

Re: DatePicker, получить дату

Сообщение neoksi » 01 апр 2013, 07:16

Olivka
Зачем изобретать велосипед?

Unix TimeStamp дефакто стал стандартом для отрасли, честно, лучше сразу приучаться к его использованию, чтоб потом голову не ломать.

Аватара пользователя
Foenix
Сообщения: 4201
Зарегистрирован: 20 окт 2012, 12:01

Re: DatePicker, получить дату

Сообщение Foenix » 01 апр 2013, 07:23

Вообще-то никакой это не велосипед, просто осмысленное задание даты, очень удобное и человеку и машине. Во многих системах БД это принятое, скажем так, по-умолчанию понимаемый формат даты. Например, задавай это sqlserver-у или еще какой-нибудь субд - почти любая система схавает дату в таком формате, правильно ее интерпретирует и не поперхнется вне зависимости от региональных настроек.
R.id.team

NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198

Аватара пользователя
neoksi
Сообщения: 712
Зарегистрирован: 26 июл 2012, 10:42
Контактная информация:

Re: DatePicker, получить дату

Сообщение neoksi » 01 апр 2013, 07:36

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

П.С. Я работаю с датами платно уже второй год в своем сервисе, и честно, нахлебался много. И скажу честно, unix timestamp самое универсальное решение и переносимое на большинство платформ.

Аватара пользователя
Foenix
Сообщения: 4201
Зарегистрирован: 20 окт 2012, 12:01

Re: DatePicker, получить дату

Сообщение Foenix » 01 апр 2013, 07:43

извини, но в простой программе человеку не нужно порой супер-универсальное-решение, если человек пишет какой-нибудь счетчик калорий для маркета.
Нормальное решение, когда тебе не нужно время, например, и для того, чтобы глянув в данные понять в чем дело.
Я и в sqlite так дату передаю - все устраивает.
R.id.team

NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198

Аватара пользователя
rezak90
Сообщения: 3422
Зарегистрирован: 26 июн 2012, 13:22
Откуда: UA
Контактная информация:

Re: DatePicker, получить дату

Сообщение rezak90 » 01 апр 2013, 08:09

Сортировка получится нормально, если дату хранить в формате ГГГГММДД - так будет удобочитаемо, если что.
ага, и например сохранил я с Китая дату в таком виде, потом отправил её в таком виде скажем кому то/куда то в Германию, но часовой пояс не учитывается, так что конечно лучше хранить в unix timestamp.
R.id.team
Политика на форуме запрещена

DeMoZ
Сообщения: 17
Зарегистрирован: 26 мар 2013, 05:10

Re: DatePicker, получить дату

Сообщение DeMoZ » 01 апр 2013, 08:19

ребят, а как этот формат даты ( unix timestamp) получить с DatePicker ?

Аватара пользователя
Mikhail_dev
Сообщения: 2386
Зарегистрирован: 09 янв 2012, 14:45
Откуда: Самара

Re: DatePicker, получить дату

Сообщение Mikhail_dev » 01 апр 2013, 10:13

DatePicker изменяет целочисленные переменные. Вот как у меня сделано с DatePicker и TimePicker

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

    OnDateSetListener myCallBackDate = new OnDateSetListener() {


	public void onDateSet(DatePicker view, int year, int monthOfYear,
          int dayOfMonth) {
        NewCheckpointActivity.this.year = year;
        NewCheckpointActivity.this.monthOfYear = monthOfYear;
        NewCheckpointActivity.this.dayOfMonth = dayOfMonth;
        btnCalculateDate.setText(dayOfMonth+":"+monthOfYear+":"+year);
       
        cal = Calendar.getInstance();
        cal.set(Calendar.MINUTE, NewCheckpointActivity.this.minute);
        cal.set(Calendar.HOUR_OF_DAY, NewCheckpointActivity.this.hourOfDay);        
        cal.set(Calendar.DAY_OF_MONTH, NewCheckpointActivity.this.dayOfMonth);
        cal.set(Calendar.MONTH, NewCheckpointActivity.this.monthOfYear);
        cal.set(Calendar.YEAR, NewCheckpointActivity.this.year);
        
        totalTime = cal.getTimeInMillis();
      }
Вкратце: есть 5 переменных для этого дела, это год, месяц, день, час, минута. Они меняются в пикерах. У меня есть их глобальные переменные в классе (NewCheckpointActivity.this.monthOfYear и т.д.). Я беру объект Calendar, скармливаю как в примере эти переменные и вызываю метод

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

Calendar.getTimeInMillis();

Аватара пользователя
rezak90
Сообщения: 3422
Зарегистрирован: 26 июн 2012, 13:22
Откуда: UA
Контактная информация:

Re: DatePicker, получить дату

Сообщение rezak90 » 01 апр 2013, 10:28

что ж так тяжко то)) вот одна строчка:

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

datePicker.getCalendarView().getDate()
получили лонг, дальше все карты открыты =)
R.id.team
Политика на форуме запрещена

Аватара пользователя
Mikhail_dev
Сообщения: 2386
Зарегистрирован: 09 янв 2012, 14:45
Откуда: Самара

Re: DatePicker, получить дату

Сообщение Mikhail_dev » 01 апр 2013, 12:15

Никогда бы не догадался в getCalendarView искать время в миллисекундах. Порой некоторые методы добивают своей неочевидностью.

Аватара пользователя
neoksi
Сообщения: 712
Зарегистрирован: 26 июл 2012, 10:42
Контактная информация:

Re: DatePicker, получить дату

Сообщение neoksi » 01 апр 2013, 12:34

Спрашивается на что тогда нам сдк :)

Аватара пользователя
rezak90
Сообщения: 3422
Зарегистрирован: 26 июн 2012, 13:22
Откуда: UA
Контактная информация:

Re: DatePicker, получить дату

Сообщение rezak90 » 01 апр 2013, 12:55

просто нужно думать как Андроид =)
R.id.team
Политика на форуме запрещена

DeMoZ
Сообщения: 17
Зарегистрирован: 26 мар 2013, 05:10

Re: DatePicker, получить дату

Сообщение DeMoZ » 01 апр 2013, 13:56

datePicker.getCalendarView().getDate()
Call requires API level 12 (current min is 8): android.widget.DatePicker#getCalendarView
что это значит?

ohotNik
Сообщения: 9
Зарегистрирован: 01 апр 2013, 09:29

Re: DatePicker, получить дату

Сообщение ohotNik » 01 апр 2013, 14:01

тыц

вы установили разработку под версию андроида 2,2 и выше, а метод будет работать только с 3,1 и выше

DeMoZ
Сообщения: 17
Зарегистрирован: 26 мар 2013, 05:10

Re: DatePicker, получить дату

Сообщение DeMoZ » 01 апр 2013, 14:04

вот у меня и крашится на 2.3.3 эмуляторе, непорядок.
тоесть, для 2.3.3 подобного быстрого метода нет?

Аватара пользователя
Mikhail_dev
Сообщения: 2386
Зарегистрирован: 09 янв 2012, 14:45
Откуда: Самара

Re: DatePicker, получить дату

Сообщение Mikhail_dev » 01 апр 2013, 21:44

Я дал пример, который не зависит от API Level.
Скорость работы тут не важна, ты не будешь его вызывать по 100 раз в секунду. Да и если на то пошло, то он работает вполне быстро.

DeMoZ
Сообщения: 17
Зарегистрирован: 26 мар 2013, 05:10

Re: DatePicker, получить дату

Сообщение DeMoZ » 02 апр 2013, 11:36

no-- писал(а):Я дал пример, который не зависит от API Level.
Скорость работы тут не важна, ты не будешь его вызывать по 100 раз в секунду. Да и если на то пошло, то он работает вполне быстро.
твоя пример я абсолютно не понял, поэтому пользоваться не буду.
буду решать вопрос по своему.

Закрыто