Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
evgmur
0 / 0 / 0
Регистрация: 12.12.2012
Сообщений: 31
#1

Передача даты в базу данных

26.02.2014, 10:58. Просмотров 1034. Ответов 9
Метки нет (Все метки)

как из массива строк и в каком формате записать в бд в столбец типа date дату?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.02.2014, 10:58
Ответы с готовыми решениями:

Связать базу данных
Добрый вечер! Объясните пожалуйста новичку, как связать веб-сервер с...

Добавление таблиц в базу данных
Здравствуйте. Хочу добавить ещё одну таблицу в уже существующий файл базы...

Загрузить собственную базу данных
Есть своя база данных "mydb" с таблицей "table". Как добавить базу данных в...

Сохранение фото в базу данных
Ребят помогите пожалуйста ! Суть такова есть Activity в ней EditText,...

Добавление записи в Базу данных
Добрый вечер, Есть работающее приложение для чтения и отправки сообщений....

9
YuraAAA
1578 / 1319 / 282
Регистрация: 25.10.2009
Сообщений: 3,436
Записей в блоге: 2
26.02.2014, 12:28 #2
evgmur,
Есть несколько вариантов:
1. Хранить дату как long (timestamp).
your_date.getTime() -> в базу
new Date(timestamp) -> из базы

2. Использовать форматирование:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
public class Parser {
 
    public static final String SQL_DATE_PATTERN = "yyyy-MM-dd";
    private static final SimpleDateFormat DATE_FORMATTER = new SimpleDateFormat(SQL_DATE_PATTERN);
 
    public static String getStringFromDate(Date date) {
        if (date == null) return null;
        return DATE_FORMATTER.format(date);
    }
 
    public static Date getDateFromString(String date) {
        if (date == null) return null;
        try {
            return DATE_FORMATTER.parse(date);
        } catch (ParseException e) {
            return null;
        }
    }
 
}
т.е. сохранять её как строку
0
evgmur
0 / 0 / 0
Регистрация: 12.12.2012
Сообщений: 31
26.02.2014, 12:42  [ТС] #3
а какой из этих вариантов лучше? дата и время нужно будут хранить в формате день. месяц. год часы:минуты
0
YuraAAA
1578 / 1319 / 282
Регистрация: 25.10.2009
Сообщений: 3,436
Записей в блоге: 2
26.02.2014, 13:15 #4
evgmur, на Ваш вкус. Я бы выбрал второй.

Цитата Сообщение от evgmur Посмотреть сообщение
день. месяц. год часы:минуты
Как вариант
Java
1
public static final String SQL_DATE_PATTERN = "dd.MM.yyyy HH:mm"
0
dubok79
324 / 122 / 10
Регистрация: 01.11.2012
Сообщений: 586
27.02.2014, 00:04 #5
Я бы дату хранил отдельно от времени. Иногда это полезно при дальнейших выборках в БД
0
YuraAAA
1578 / 1319 / 282
Регистрация: 25.10.2009
Сообщений: 3,436
Записей в блоге: 2
27.02.2014, 11:14 #6
dubok79, если используется выборка по времени, я бы хранил её в long
0
evgmur
0 / 0 / 0
Регистрация: 12.12.2012
Сообщений: 31
27.02.2014, 15:44  [ТС] #7
а можете подробнее написать, как преобразовать из строки формата dd.MM.yyyy HH:mm в дату тип long?
0
YuraAAA
1578 / 1319 / 282
Регистрация: 25.10.2009
Сообщений: 3,436
Записей в блоге: 2
27.02.2014, 18:54 #8
evgmur, date.getTime()

в обратную сторону можно new Date(milis);
0
evgmur
0 / 0 / 0
Регистрация: 12.12.2012
Сообщений: 31
27.02.2014, 19:12  [ТС] #9
если возможно, то буду очень благодарен за пример
0
angryrobot
Командир зеленых роботов
348 / 285 / 54
Регистрация: 08.10.2013
Сообщений: 565
28.02.2014, 12:41 #10
Цитата Сообщение от evgmur Посмотреть сообщение
а можете подробнее написать, как преобразовать из строки формата dd.MM.yyyy HH:mm в дату тип long?
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Locale;
 
 
public class OtherTest {
 
    public static void main(String[] args) {
        //dd.MM.yyyy HH:mm
        String string = "28.02.2014 14:36";
        Date date = null;
        try {
            date = new SimpleDateFormat("dd.MM.yyyy kk:mm", Locale.getDefault()).parse(string);
        } catch (ParseException e) {
            e.printStackTrace();
        }
        System.out.println(date); // напечатает Fri Feb 28 14:36:00 MSK 2014
        System.out.println(date.getTime()); // напечатает 1393583760000
 
    }
 
}
0
28.02.2014, 12:41
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.02.2014, 12:41

Связать базу данных с RecyclerView
Здравствуйте уважаемые форумчане! Прошу вашей помощи! У меня есть фрагмент с...

Создать базу данных на sdcard
Здравствуйте! не как не могу создать базу на карточке Файл...

Данные из блокнота переместить в базу данных
Привет, если БД, которая состоит из полей Id (int) и phrase (text). Также есть...


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

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

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