在TextView中我现在格式化为“Locale”的日期,现在我必须将它插入到sqlite数据库。如何转换适合SQLite的格式? 这是我含量值日期到SQLite
cv.put(MyTable.DATE, mDate.getText().toString());
在TextView中我现在格式化为“Locale”的日期,现在我必须将它插入到sqlite数据库。如何转换适合SQLite的格式? 这是我含量值日期到SQLite
cv.put(MyTable.DATE, mDate.getText().toString());
我建议你存储文本格式的字符串为机器可读的代码。见 http://developer.android.com/reference/java/text/SimpleDateFormat.html。 SimpleDateFormat允许你在Date和String之间转换。我见过一些文档,建议您应该以二进制格式内部传递日期。我倾向于不同意。以文本格式存储日期(如果您知道格式)更简单,更安全。
您可以将它作为一个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));
我的日期字段是TEXT,所以如果我不工作--- cv.put(MyTable.DATA,mDate.getTime()); – user2856560
@ user2856560什么是字段MyTable.DATA? – Phil
是DATE字段(在Helper类中声明为TEXT)的表的名称 – user2856560
我想你想对我说人类可读的,而不是机器可读的:)我存储时间长的风扇,使DB可以专注于存储数据,其中应用程序可以选择多种显示格式和稍后更改格式。 – Kazuki
对不起,我没有解释得很好! 我只需要在插入过程中以SQLite“yyyy-mm-dd”支持的格式将我的textview格式转换为“本地”。 (我在日期字段'TEXT'中使用sqlite)谢谢 – user2856560