显示存储并从数据库中读取日期

时间:2013-05-07 20:16:16

标签: java android sqlite date

在我的应用程序中,一个重要的功能是将日期保存到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,这是在设置中设置的?我想尽可能少地使用弃用的方法。

1 个答案:

答案 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