Страница 1 из 1
DatePicker, получить дату
Добавлено: 01 апр 2013, 05:16
DeMoZ
Код: Выделить всё
textview.setText(String.valueOf(datepicer.getDayOfMonth())+"."+String.valueOf(datepicer.getMonth())+"."+String.valueOf(datepicer.getYear()));
я поискал, но не нашел встроенного метода, чтобы подобный вывод сделать одним запросом, а не тремя.
и еще, если я собираюсь в дальнейшем хранить дату в SQL и делать сортировку, то дату мне лучше хранить в каком формате- число типа 1212343452345 , или строка типа 10.03.2013, или есть специальный формат даты?
как дату в нужном формате взять из DatePicker?
Re: DatePicker, получить дату
Добавлено: 01 апр 2013, 05:45
neoksi
DeMoZ
Дату лучше всего хранить в формате unix timestamp.
Re: DatePicker, получить дату
Добавлено: 01 апр 2013, 07:09
Foenix
Сортировка получится нормально, если дату хранить в формате ГГГГММДД - так будет удобочитаемо, если что.
Для формирования можно использовать объект Calendar и DateFormat-ы всякие..
Re: DatePicker, получить дату
Добавлено: 01 апр 2013, 07:16
neoksi
Olivka
Зачем изобретать велосипед?
Unix TimeStamp дефакто стал стандартом для отрасли, честно, лучше сразу приучаться к его использованию, чтоб потом голову не ломать.
Re: DatePicker, получить дату
Добавлено: 01 апр 2013, 07:23
Foenix
Вообще-то никакой это не велосипед, просто осмысленное задание даты, очень удобное и человеку и машине. Во многих системах БД это принятое, скажем так, по-умолчанию понимаемый формат даты. Например, задавай это sqlserver-у или еще какой-нибудь субд - почти любая система схавает дату в таком формате, правильно ее интерпретирует и не поперхнется вне зависимости от региональных настроек.
Re: DatePicker, получить дату
Добавлено: 01 апр 2013, 07:36
neoksi
Это да, когда у тебя данные существуют в одной среде, но когда сред много, лучше единый стандарт, тогда меньше преобразований и меньше вариантов для ошибок.
П.С. Я работаю с датами платно уже второй год в своем сервисе, и честно, нахлебался много. И скажу честно, unix timestamp самое универсальное решение и переносимое на большинство платформ.
Re: DatePicker, получить дату
Добавлено: 01 апр 2013, 07:43
Foenix
извини, но в простой программе человеку не нужно порой супер-универсальное-решение, если человек пишет какой-нибудь счетчик калорий для маркета.
Нормальное решение, когда тебе не нужно время, например, и для того, чтобы глянув в данные понять в чем дело.
Я и в sqlite так дату передаю - все устраивает.
Re: DatePicker, получить дату
Добавлено: 01 апр 2013, 08:09
rezak90
Сортировка получится нормально, если дату хранить в формате ГГГГММДД - так будет удобочитаемо, если что.
ага, и например сохранил я с Китая дату в таком виде, потом отправил её в таком виде скажем кому то/куда то в Германию, но часовой пояс не учитывается, так что конечно лучше хранить в unix timestamp.
Re: DatePicker, получить дату
Добавлено: 01 апр 2013, 08:19
DeMoZ
ребят, а как этот формат даты ( unix timestamp) получить с DatePicker ?
Re: DatePicker, получить дату
Добавлено: 01 апр 2013, 10:13
Mikhail_dev
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, скармливаю как в примере эти переменные и вызываю метод
Re: DatePicker, получить дату
Добавлено: 01 апр 2013, 10:28
rezak90
что ж так тяжко то)) вот одна строчка:
получили лонг, дальше все карты открыты =)
Re: DatePicker, получить дату
Добавлено: 01 апр 2013, 12:15
Mikhail_dev
Никогда бы не догадался в getCalendarView искать время в миллисекундах. Порой некоторые методы добивают своей неочевидностью.
Re: DatePicker, получить дату
Добавлено: 01 апр 2013, 12:34
neoksi
Спрашивается на что тогда нам сдк

Re: DatePicker, получить дату
Добавлено: 01 апр 2013, 12:55
rezak90
просто нужно думать как Андроид =)
Re: DatePicker, получить дату
Добавлено: 01 апр 2013, 13:56
DeMoZ
datePicker.getCalendarView().getDate()
Call requires API level 12 (current min is 8): android.widget.DatePicker#getCalendarView
что это значит?
Re: DatePicker, получить дату
Добавлено: 01 апр 2013, 14:01
ohotNik
тыц
вы установили разработку под версию андроида 2,2 и выше, а метод будет работать только с 3,1 и выше
Re: DatePicker, получить дату
Добавлено: 01 апр 2013, 14:04
DeMoZ
вот у меня и крашится на 2.3.3 эмуляторе, непорядок.
тоесть, для 2.3.3 подобного быстрого метода нет?
Re: DatePicker, получить дату
Добавлено: 01 апр 2013, 21:44
Mikhail_dev
Я дал пример, который не зависит от API Level.
Скорость работы тут не важна, ты не будешь его вызывать по 100 раз в секунду. Да и если на то пошло, то он работает вполне быстро.
Re: DatePicker, получить дату
Добавлено: 02 апр 2013, 11:36
DeMoZ
no-- писал(а):Я дал пример, который не зависит от API Level.
Скорость работы тут не важна, ты не будешь его вызывать по 100 раз в секунду. Да и если на то пошло, то он работает вполне быстро.
твоя пример я абсолютно не понял, поэтому пользоваться не буду.
буду решать вопрос по своему.