In der Datentabelle gibt es ein Feld, in dem der MySQL-Datumstyp gespeichert wird. Bei jedem Auslesen muss die Anzahl der Tage zwischen diesem und der aktuellen Uhrzeit berechnet werden, aber wie Ich verstehe das Format und die Berechnung des Zeitintervalls nicht ganz. Das Folgende ist der Code, den ich basierend auf meinem eigenen Verständnis geschrieben habe. info.get(15) sind die aus der Datenbank gelesenen Datumsdaten
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Calendar cal = Calendar.getInstance();
String Time1 = sdf.format(new Date());
String Time2 = info.get(15).toString;
try {
cal.setTime(sdf.parse(Time1));
} catch (ParseException e) {
e.printStackTrace();
}
long oldTime = cal.getTimeInMillis();
try {
cal.setTime(sdf.parse(Time2));
} catch (ParseException e) {
e.printStackTrace();
}
long now1 = cal.getTimeInMillis();
long days = (now1 - old) / (1000*3600*24);
最简单的做法:
另外,如果碰到时区问题,可能会比较头疼,最彻底的解决办法是数据库里所有的日期都存为
BIGINT
类型,把Date.getTime()
(以毫秒为单位的UNIX时间戳)的值存进去。