2013-10-07 50 views
1

在TextView中我现在格式化为“Locale”的日期,现在我必须将它插入到sqlite数据库。如何转换适合SQLite的格式? 这是我含量值日期到SQLite

cv.put(MyTable.DATE, mDate.getText().toString()); 

回答

0

我建议你存储文本格式的字符串为机器可读的代码。见 http://developer.android.com/reference/java/text/SimpleDateFormat.html。 SimpleDateFormat允许你在Date和String之间转换。我见过一些文档,建议您应该以二进制格式内部传递日期。我倾向于不同意。以文本格式存储日期(如果您知道格式)更简单,更安全。

+0

我想你想对我说人类可读的,而不是机器可读的:)我存储时间长的风扇,使DB可以专注于存储数据,其中应用程序可以选择多种显示格式和稍后更改格式。 – Kazuki

+0

对不起,我没有解释得很好! 我只需要在插入过程中以SQLite“yyyy-mm-dd”支持的格式将我的textview格式转换为“本地”。 (我在日期字段'TEXT'中使用sqlite)谢谢 – user2856560

1

您可以将它作为一个long

cv.put(MyTable.DATA, mDate.getTime()); 

然后检索它作为一个long和使用下面的构造函数:

mDate = new Date(cv.getAsLong(MyTable.DATA)); 

此外,如果您需要保存Locale,只是店它分开作为一个字符串:

cv.put(MyTable.LOCALE, mLocale.getLanguage()); 

后来得到它:

mLocale = new Locale(cv.getAsString(MyTable.LOCALE)); 
+0

我的日期字段是TEXT,所以如果我不工作--- cv.put(MyTable.DATA,mDate.getTime()); – user2856560

+0

@ user2856560什么是字段MyTable.DATA? – Phil

+0

是DATE字段(在Helper类中声明为TEXT)的表的名称 – user2856560