在我的应用程序中,一个重要的功能是将日期保存到SQLite数据库。将Java中的Date对象存储在数据库中的正确方法是什么?从数据库读取Date对象的最佳方法是什么?我是否必须使用 util 或 sql (来自命名空间)Date?
该应用程序也应该在Play商店的所有国家/地区发布,因此我想在正确的位置字符串中显示日期。如果我想在TextView中显示如下字符串:
Freitag, 06.03.2012 // Germany
Friday, 03.06.2012 // US (don't know if this is correct for US)
// The 0 befor one numbers is important for me
在Android中是否有办法在当前位置创建如上所述的DateString,这是在设置中设置的?我想尽可能少地使用弃用的方法。
答案 0 :(得分:2)
来自SQLite Date and Time functions:
时间字符串可以采用以下任何格式:
1)YYYY-MM-DD
因此,您应该使用该格式在数据库中插入日期。 当你想在android中显示一个日期时,你可以查询数据库(以YYYY-MM-DD格式获取一行)。
之后,您可以按照自己的方式格式化该值。例如,如果你想要Friday, 03.06.2012
,你可以这样做:
try {
String dateString = "2013-05-07";
SimpleDateFormat inputFormat = new SimpleDateFormat("yyyy-MM-dd",Locale.US);
Date date = inputFormat.parse(dateString);
SimpleDateFormat outputFormat = new SimpleDateFormat("EEEE, dd.MM.yyyy", Locale.US);
String result = outputFormat.format(date);
} catch (ParseException e) {
e.printStackTrace();
}
现在result
你有Tuesday, 07.05.2013
。如果您将区域设置更改为Locale.GERMAN
,则会获得Dienstag, 07.05.2013
。