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

Программирование Android

Войти
Регистрация
Восстановить пароль
 
pavel-
0 / 0 / 0
Регистрация: 06.07.2016
Сообщений: 1
#1

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

25.07.2016, 20:15. Просмотров 294. Ответов 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 без лишних костылей, но я такого мануала не нашел. Если есть ссылка с подобным примером, то прошу поделиться.
Буду благодарен любой помощи, спасибо.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.07.2016, 20:15     Как преобразовать время из long в формат "ДД.ММ.ГГГГ"?
Посмотрите здесь:
Что означают конструкции "finally" и "throw new"? Android
блокирование кнопок "Home" "Back" Android
Android Как заставить Eclipse "забыть" об ошибках в xml файлах?
Как добавить строку "." в начале в ListView со своим обработчиком Android
Android Как поместить surfaceview или glsurfaceview на "пол" экрана
Визуализация нажатия на изображение. Как поставить картинку на "нажатие" Android
Android Кнопка "Стереть данные", как от нее защититься?
Android Как открывать/закрывать NavigationDrawer кнопкой "Menu"
Android Toolbar как отслеживать кнопку "стрелка назад"
Android Как сделать View "не прозрачным" для кликов
Как "слушать и читать" SMS c определенного номера? Android
Как реализовать функцию "share via" в моем случае? Android

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
OlegJV
102 / 102 / 29
Регистрация: 13.03.2016
Сообщений: 471
25.07.2016, 20:44     Как преобразовать время из long в формат "ДД.ММ.ГГГГ"? #2
Почитай про simpleDataFormat

Добавлено через 5 минут
Java
1
2
SimpleDateFormat sdf = new SimpleDateFormat("dd.MM.yyyy"); 
String sDate = sdf.format(longDate);
Yandex
Объявления
25.07.2016, 20:44     Как преобразовать время из long в формат "ДД.ММ.ГГГГ"?
Ответ Создать тему
Опции темы

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