Форум программистов, компьютерный форум, киберфорум
Программирование Android
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.87/15: Рейтинг темы: голосов - 15, средняя оценка - 4.87
0 / 0 / 0
Регистрация: 06.07.2016
Сообщений: 1
1

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

25.07.2016, 20:15. Показов 2806. Ответов 1
Метки нет (Все метки)

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

Я сохраняю дату в 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
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
25.07.2016, 20:15
Ответы с готовыми решениями:

Как преобразовать дату дд.мм.гггг в формат time()?
Как преобразовать дату дд.мм.гггг в формат time()? чтобы знать число секунд прошедшей от даты...

Как преобразовать время в long ?
как преобразовать время в long ? есть структура struct tm *newtime; long ltime; time(...

Как преобразовать время UNIX в удобовоспринимаемый формат даты?
Здравствуйте. Есть вот такой вот скрипт: while($data = mysql_fetch_array($qr_result)){ echo...

Как преобразовать const char * в long в С++, 0xE0E040BF в long
Помогите пожалуйста преобразовать текст в число на C++ const char * value=cmd; long ircode = ...

1
104 / 103 / 29
Регистрация: 13.03.2016
Сообщений: 474
25.07.2016, 20:44 2
Почитай про simpleDataFormat

Добавлено через 5 минут
Java
1
2
SimpleDateFormat sdf = new SimpleDateFormat("dd.MM.yyyy"); 
String sDate = sdf.format(longDate);
3
25.07.2016, 20:44
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
25.07.2016, 20:44
Помогаю со студенческими работами здесь

Как преобразовать char[8] к unsigned long long?
Требуется выполнить преобразование char к unsigned long long и обратно

Как настроить для IIS5 нормальный формат даты - ДД.ММ.ГГГГ?
Проблема при переносе WEB-сервера с IIS4 на IIS5: В Windows2000 , в региональных установках -...

Как правильно преобразовать дату дд.мм.гг в дд.мм.гггг
Подскажите, Уважаемые! Есть форма с текстбоксом и следующий код: Private Sub...

преобразовать 40-ка битное бинарное число не используя long long
Доброго времени суток! Прошу помощи, не знаю как выкрутиться. Вся соль в том что long long не могу...

Перенос даты при слиянии в Ворд не в нашей (ДД.ММ.ГГГГ), а в US(UK) формате (М/ДД/ГГГГ), как поправить?
Уважаемые Форумчане! доброго времени суток!:help: при слиянии из базы Аксесс в Ворд в поле дата...

Как преобразовать формат String в формат времени?
Dim time1 As date Dim time2 As Date Dim totaltime As Date Dim str As String str = "SELECT...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru