2013-11-07 1 views
0

У меня возникла проблема при хранении даты в моей локальной базе данных SQLite в приложении для Android. Я использую глобальный формат даты:Ошибка формата даты с «HH» при хранении в базе данных SQLite

public static final String DATEFORMAT = "yyyy-MM-dd HH:mm:ssz"; 

После того, как я извлек дату моего Azure базы данных, а затем отформатировать его в строку, поэтому он может быть сохранен в базе данных SQLite.

row.put(Constants.COL_DATE_START, (String) DateFormat.format(DATEFORMAT, DateStart)); 

Все это, кажется, работает хорошо, за исключением вместо 2013-09-18 13: 00: 00 + 0000 Я получаю:

2013-09-18HH:00:00+0000 

По какой-то причине он не будет забрать на «HH» - это число в час. Если я изменю его на «hh» , он дает мне 2013-09-18 01: 00: 00 + 0000 - оставляя меня на 12 часов.

Любые идеи? Любая помощь будет принята с благодарностью!

+0

Разве это не проблема локального времени в UTC? Разве вы не в зоне +1200? –

ответ

0

Попробуйте это:

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); 
String dateFormat = sdf.format(yourDate); //java.util.Date 
row.put(Constants.COL_DATE_START, dateFormat); 
+0

Это сделало трюк! ура приятель! – user2964481

-1

Я обычно хранить метку времени и форматировать дату, когда я показываю. Я знаю, что он не отвечает на ваш вопрос напрямую, но AFAIK считается лучшей практикой.

+0

-1 Это просто мнение. И нет, не отвечает на вопрос. –

Смежные вопросы