Wie berechnet man das Zeitintervall zwischen Java-Datum und MySQL-Datumstyp?
天蓬老师
天蓬老师 2017-06-20 10:05:43
0
1
892

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

欢迎选择我的课程,让我们一起见证您的进步~~

Antworte allen(1)
学习ing

最简单的做法:

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

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

Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage