Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Как преобразовать время из long в формат "ДД.ММ.ГГГГ"? - Программирование Android

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Программирование Android Loader и MVP http://www.cyberforum.ru/android-dev/thread1785481.html
Я через Loader отправляю запрос на сервер, получаю ответ и отображаю результат в активити. А как можно реализовать это через MVP то есть добавить в архитектуру еще и Presenter, чтобы через него...
Программирование Android Не переводить фокус на следующий EditText при нажатии enter Если имеется несколько EditText, то при нажатии enter экранной клавиатуры фокус переходит на следующий editText. Нужно, чтобы при нажатии enter просто скрывалась экранная клавиатура, и пропадал... http://www.cyberforum.ru/android-dev/thread1785469.html
Программирование Android Работа с libgdx
Есть класс для пуль унаследованный от Actor c подключенным интерфейсом Poolable вот код этого класса public class Bullet extends GameObj implements Pool.Poolable{ public boolean alive; ...
Программирование Android Верстка, без подключения API
Всем привет! Столкнулся с одной проблемой, нужно накидать верстку, с несколькими Activity, по сути на них отображается только несколько простейших view элементов, в том числе и кнопки. Сказано,...
Программирование Android JSON и Андроид http://www.cyberforum.ru/android-dev/thread1785388.html
Ребята помогите распарсить строку вида Делал так: public class JSON { private JSONObject jsonObject; public void toJSON(String s) {
Программирование Android Таймер останавливается при блокировке экрана Он как бы не останавливается вроде до конца, но, например, запускаю, блокирую экран, в реале жду примерно минуту, потом смотрю, он отсчитал только 10 сек. Можно это как-то исправить? public... подробнее

Показать сообщение отдельно
pavel-
0 / 0 / 0
Регистрация: 06.07.2016
Сообщений: 1

Как преобразовать время из long в формат "ДД.ММ.ГГГГ"? - Программирование Android

25.07.2016, 20:15. Просмотров 349. Ответов 1
Метки (Все метки)

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

Я сохраняю дату в SQLite в формате long:

Java
1
2
3
4
5
private long presentTime() {
        d  = new Date();
        date = d.getTime();
        return date;
    }
затем
Java
1
dataBaseConnector.insertTime(tableName, 0, date);
В таблице SQLite она хранится в виде long (1469152841165).

Теперь эту дату нужно вывести в ListView в понятном для человека формате ДД.ММ.ГГГГ

В классе базы данных метод
Java
1
2
3
4
5
6
7
public DateCursor getAllNotesDate() {
        database = dataBaseOpenHelper.getWritableDatabase();
        Cursor wrapped = database.query(TABLE_NAME, new String[]{"_id", DATE}, null,
                null, null, null, null);
 
        return new DateCursor(wrapped);
    }

В activity:
Java
1
2
3
4
5
6
7
8
listView = getListView();
        String[] from = new String[]{"date"};
        int[] to = new int[]{R.id.textViewDate};
 
        cursorAdapter = new SimpleCursorAdapter(ListDetailActivity.this,
                R.layout.list_view_item, null, from, to, 0);
 
                setListAdapter(cursorAdapter);
Выводит дату в формате long.

В одном примере видел, что можно создать свой курсор (создал дополнительный объект RunDate, куда запихнул id и date),
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
30
31
32
33
34
public class RunDate {
 
    private String date;
    private long id;
 
    public RunDate(){
        id = -1;
        date = new String();
    }
 
    public String getDate() {
        return date;
    }
 
        public void setDate(String date) {
        this.date = date;
    }
 
    public long getId() {
        return id;
    }
 
    public void setId(long id) {
        this.id = id;
    }
 
    public static String formatDate(long milliseconds){
 
        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("dd MM yyyy");
        String dateCalend = simpleDateFormat.format(new Date(milliseconds));
 
        return dateCalend;
    }
}
но
результат так же выводится в long:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
public static class DateCursor extends CursorWrapper {
 
        private DataBaseConnector dataBaseConnector;
        private SQLiteDatabase database;
 
        public DateCursor (Cursor cursor){
            super(cursor);
        }
 
        public RunDate getRunDate(){
            if (isBeforeFirst() || isAfterLast()) return null;
 
            RunDate runDate = new RunDate();
            long dateID = getLong(getColumnIndex("_id"));
            runDate.setId(dateID);
 
            long date = getLong(getColumnIndex(DATE));
            runDate.setDate(new Date(date));
            return runDate;
        }
    }
Каким способом можно преобразовать long в дату?
В документации SQLite нашел пример: SELECT datetime(1092941466, 'unixepoch');, но как его применить к моему случаю?
Вообще, подобная операция довольно типична и, наверное, есть какой-то универсальный метод преобразования long в date без лишних костылей, но я такого мануала не нашел. Если есть ссылка с подобным примером, то прошу поделиться.
Буду благодарен любой помощи, спасибо.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru