Rog*_*ger 5 java sqlite android
当我抓住当前日期时,我拉出月,日和年,使用字符串构建器并最终使用mm-dd-yyyy格式,我将其放入textview.当我将数据保存到sqlitedb时,我只是从textview中获取日期并插入它.这对日期函数不起作用,因为它们需要yyyy-mm-dd格式.
处理这个问题的最佳方法是什么?
Bal*_*usC 20
使用两个SimpleDateFormat实例.
String dateString1 = "16-04-2011";
Date date = new SimpleDateFormat("dd-MM-yyyy").parse(dateString1);
String dateString2 = new SimpleDateFormat("yyyy-MM-dd").format(date);
System.out.println(dateString2); // 2011-04-16
// ...
Run Code Online (Sandbox Code Playgroud)
但更好的是只使用java.util.Date持有值并仅在前端应用格式.JDBC提供PreparedStatement#setDate()了java.sql.Date在SQL字符串中设置a .
preparedStatement.setDate(1, new java.sql.Date(date.getTime()));
Run Code Online (Sandbox Code Playgroud)
从另一方面来说,要从数据库中获取它,只需使用ResultSet#getDate()并向上转换即可java.util.Date.
Date date = resultSet.getDate("columnname");
Run Code Online (Sandbox Code Playgroud)