suchen

Heim  >  Fragen und Antworten  >  Hauptteil

Wie berechnet man das Zeitintervall zwischen Java-Datum und MySQL-Datumstyp?

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);
天蓬老师天蓬老师2805 Tage vor942

Antworte allen(1)Ich werde antworten

  • 学习ing

    学习ing2017-06-20 10:07:43

    最简单的做法:

    (System.currentTimeMillis() - info.getDate().getTime()) / 86400000
    

    另外,如果碰到时区问题,可能会比较头疼,最彻底的解决办法是数据库里所有的日期都存为BIGINT类型,把Date.getTime()(以毫秒为单位的UNIX时间戳)的值存进去。

    Antwort
    0
  • StornierenAntwort