[英]Get Time difference between two Timestamps
我想知道如何獲得兩個時間戳之間的時差。 兩個時間戳將始終位於同一日期。
我收到一個負長值作為結果,而我想獲得以分鍾為單位的時間差。
SQL 為我提供了正確的數據,但我也會附上代碼 a。
public long CalculateTimeFromTimestamp(Timestamp d1, Timestamp d2){
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date endDate = null, reqDate= null;
try {
endDate = sdf.parse(d1.toString());
reqDate = sdf.parse(d2.toString());
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return endDate.getTime() - reqDate.getTime();
}
public long getArbeitszeitPerPro(int id) {
Statement stmt = null;
String sql = "SELECT ARBEITSBLOCK.STARTZEIT , "
+ " ARBEITSBLOCK.ENDZEIT "
+ " FROM ARBEITSBLOCK "
+ " INNER JOIN TAETIGKEIT "
+ " ON ARBEITSBLOCK.TAETIGKEIT_ID = TAETIGKEIT.ID "
+ " INNER JOIN PROJEKT "
+ " ON PROJEKT.ID = TAETIGKEIT.PROJEKT_ID "
+ " WHERE PROJEKT.ID = " + id;
long ergb = 0;
try{
stmt = con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_READ_ONLY);
ResultSet rs = stmt.executeQuery(sql);
if(rs.last()){
s = new Timestamp[rs.getRow()][2];
rs.beforeFirst();
}
while(rs.next()){
ergb += d.CalculateTimeFromTimestamp(rs.getTimestamp(1), rs.getTimestamp(2));
}
}
catch(SQLException e){
e.printStackTrace();
}
return ergb;
}
找出以毫秒為單位的差異,然后除以一分鍾內的毫秒數 (60,000):
public long CalculateTimeFromTimestamp(Timestamp d1, Timestamp d2){
return Math.abs(d1.getTime() - d2.getTime()) / 60000L;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.