Java 显示存储和从数据库读取日期

Java 显示存储和从数据库读取日期,java,android,sqlite,date,Java,Android,Sqlite,Date,在我的应用程序中,一个重要的功能是将日期保存到SQLite数据库。在数据库中存储Java中的日期对象的正确方法是什么?从数据库读取日期对象的最佳方式是什么?我是否必须使用util或sql(来自名称空间)日期 此外,该应用程序应该从play store在所有国家/地区发布,因此我希望在正确的位置字符串中显示日期。如果我想在文本视图中显示字符串,如下所示: Freitag, 06.03.2012 // Germany Friday, 03.06.2012 // US (don'

在我的应用程序中,一个重要的功能是将日期保存到SQLite数据库。在数据库中存储Java中的日期对象的正确方法是什么?从数据库读取日期对象的最佳方式是什么?我是否必须使用util或sql(来自名称空间)日期

此外,该应用程序应该从play store在所有国家/地区发布,因此我希望在正确的位置字符串中显示日期。如果我想在文本视图中显示字符串,如下所示:

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
在安卓系统中,有没有办法在设置中设置的当前位置创建如上所述的日期字符串?我希望尽可能少地使用不推荐的方法。

来自:

时间字符串可以采用以下任意格式:

1) YYYY-MM-DD

所以您应该使用该格式在数据库中插入日期。 当您想在android中显示日期时,可以查询数据库(获取格式为YYYY-MM-DD的行)

之后,您可以按照您想要的方式格式化该值。例如,如果您想要
2012年6月3日,星期五
,您可以这样做:

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
中,您有
2013年5月7日星期二
。如果您将区域设置更改为
locale.derman
您将获得
Dienstag,07.05.2013

通常最简单的方法是将unix时间戳存储在数据库中,然后在渲染时按您喜欢的方式进行格式化。非常感谢您的帮助。如果我想为当前位置输入正确的日期字符串,是否有方法从Android获取
SimpleDataFormat
第二个参数的当前位置?是的,您可以使用它来了解用户首选的区域设置。