Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
Kazachek
17 / 17 / 8
Регистрация: 03.11.2013
Сообщений: 392
1

DatePickerDialog формат выбранной даты

20.10.2017, 14:59. Просмотров 319. Ответов 6
Метки нет (Все метки)

Добрый день.
Подскажите пожалуйста как изменить формат даты после выбора в диалоге.
На данный момент у меня 12 октября 2017г. выходит.
Нужно поменять на 12-10-2017

Это я делаю для того чтоб при добавлении в базу не выдало ошибок.
Заранее благодарю

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
// отображаем диалоговое окно для выбора даты
    public void setDate(View v) {
        new DatePickerDialog(clnt_data.this, d,
                dateAndTime.get(Calendar.YEAR),
                dateAndTime.get(Calendar.MONTH),
                dateAndTime.get(Calendar.DAY_OF_MONTH))
                .show();
 
 
    }
 
    // установка начальных даты и времени
    private void setInitialDateTime() {
 
        currentDateTime.setText(DateUtils.formatDateTime(this,
                dateAndTime.getTimeInMillis(),
                DateUtils.FORMAT_SHOW_DATE | DateUtils.FORMAT_SHOW_YEAR
                        ));
    }
 
    // установка обработчика выбора даты
    DatePickerDialog.OnDateSetListener d=new DatePickerDialog.OnDateSetListener() {
        public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) {
            dateAndTime.set(Calendar.YEAR, year);
            dateAndTime.set(Calendar.MONTH, monthOfYear);
            dateAndTime.set(Calendar.DAY_OF_MONTH, dayOfMonth);
            setInitialDateTime();
        }
    };
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.10.2017, 14:59
Ответы с готовыми решениями:

Изменить формат даты
Добра друзья. Не могу разобраться как поменять показ месяца сокращено. Что бы...

Формат даты дней рождения контактов гугл
В этой теме в первом посте мною написан метод получения дней рождения...

Формат даты или как получить часы, минуты, секунды
В текстовое поле выводится время . Вот так - String mytime =...

DatePickerDialog
Добрый день! Ребят не могу сообразить. ... public void onClick(View v) {...

Вид DatePickerDialog
Всем привет! Столкнулся с необходимостью при нажатии кнопки выводить...

6
Pablito
2810 / 2235 / 753
Регистрация: 12.05.2014
Сообщений: 7,819
Завершенные тесты: 1
20.10.2017, 15:26 2
норм люди добавляют в базу milliseconds
а не строки с датой
1
Kazachek
17 / 17 / 8
Регистрация: 03.11.2013
Сообщений: 392
20.10.2017, 16:23  [ТС] 3
Цитата Сообщение от Pablito Посмотреть сообщение
норм люди добавляют в базу milliseconds
а не строки с датой
Можете подсказать как сделать по нормальному?
и как потом milliseconds переконвертировать по нужному формату?

Опыта работы с базой + андроид приложения нет по этому немножко криво сделал.
0
ExFau$t
674 / 566 / 130
Регистрация: 08.05.2012
Сообщений: 2,815
20.10.2017, 16:56 4
По нормальному это записывать дату в мс в формате long, с любого класса, связанного с временем, можно получить такой формат даты. Обратно в читабельный вид типо такого:
Java
1
2
3
DateFormat sdf = new SimpleDateFormat("MM/dd/yyyy");
        Date date = (new Date(longTime));
        String stringBlaBla = sdf.format(date);
1
Kazachek
17 / 17 / 8
Регистрация: 03.11.2013
Сообщений: 392
22.10.2017, 04:05  [ТС] 5
ExFau$t,
Спасибо за LongTime я прочитал и понял что SqlLite не имеет такого типа и по этому нужно сохранить дату в таком формате.
Перечитал всё, честно, не могу понять, как взять дату с DatePickerDialog в longTime и одновременно показать пользователю в удобном формате.

Нуждаюсь в помощи((

Добавлено через 4 часа 0 минут
Сделал строкой нашел как менять формат и по нормальному использовать каленьдарь
Не знаю на сколько это не правильно, но работает

Добавлено через 44 секунды
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
// установка обработчика выбора даты
    DatePickerDialog.OnDateSetListener d=new DatePickerDialog.OnDateSetListener() {
        public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) {
            monthOfYear=monthOfYear+1;
            dateAndTime.set(Calendar.YEAR, year);
            dateAndTime.set(Calendar.MONTH, monthOfYear);
            dateAndTime.set(Calendar.DAY_OF_MONTH, dayOfMonth);
            //setInitialDateTime();
 
 
            int month = monthOfYear;
            String formattedMonth = "" + month;
            String formattedDayOfMonth = "" + dayOfMonth;
 
            if(month < 10){
 
                formattedMonth = "0" + month;
            }
            if(dayOfMonth < 10){
 
                formattedDayOfMonth = "0" + dayOfMonth;
            }
 
            currentDateTime.setText(year + "-" + formattedMonth + "-" + formattedDayOfMonth);
        }
    };
0
ExFau$t
674 / 566 / 130
Регистрация: 08.05.2012
Сообщений: 2,815
22.10.2017, 18:51 6
Цитата Сообщение от Kazachek Посмотреть сообщение
я прочитал и понял что SqlLite не имеет такого типа
Что что прости? В бд нельзя залить данные long? Где ты это прочитал, в гороскопе?
У класса Calendar есть волшебный метод getTimeInMillis(), которые выдаёт long, а также setTimeInMillis(long millis) для обратной операции.
0
Kazachek
17 / 17 / 8
Регистрация: 03.11.2013
Сообщений: 392
22.10.2017, 18:59  [ТС] 7
Цитата Сообщение от ExFau$t Посмотреть сообщение
Что что прости? В бд нельзя залить данные long? Где ты это прочитал, в гороскопе?
Как же любишь выпендрываться...
Я имел ввиду тип DATE !!! как у Oracle или MySql

В любом случае спасибо.
Если вдруг захотите помочь а не подколоть, можете сделать это в данной теме.
0
22.10.2017, 18:59
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.10.2017, 18:59

Устаревший метод showDialog() в DatePickerDialog
Я изучаю только андроид и у меня возникла проблема. Мой eclipse показывает что...

DatePickerDialog на нескольких обработчиках событий
Здравствуйте! Помогите разобраться: есть активити, на котором два button'а,...

Передать значение DatePickerDialog в другой класс
Здравствуйте! У меня есть два активити в первом, по нажатию button у меня...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru