在 TextView 中,我将日期格式化为“Locale”,现在我必须将其插入到 sqlite 数据库中。如何转换适合 SQLite 的格式?这是我的内容价值观
cv.put(MyTable.DATE, mDate.getText().toString());
您可以将其插入为long
:
cv.put(MyTable.DATA, mDate.getTime());
然后将其检索为 along
并使用以下构造函数:
mDate = new Date(cv.getAsLong(MyTable.DATA));
此外,如果您需要保存Locale
,只需将其单独存储为字符串:
cv.put(MyTable.LOCALE, mLocale.getLanguage());
稍后再获取:
mLocale = new Locale(cv.getAsString(MyTable.LOCALE));
我建议您以文本格式存储机器可读代码的字符串。请参阅 http://developer.android.com/reference/java/text/SimpleDateFormat.html。SimpleDateFormat 允许您在日期和字符串之间切换。我看过一些文档建议您应该在内部以二进制格式传递日期。我倾向于不同意。以文本格式(如果您知道格式)存储日期更简单、更安全。