看板 java 關於我們 聯絡資訊
String from = request.getParameter("send_from"); String to = request.getParameter("send_to"); SimpleDateFormat sdf = new SimpleDateFormat("yyyy/mm/dd"); Calendar calFrom = Calendar.getInstance(); calFrom.setTime(sdf.parse(from)); Calendar calTo = Calendar.getInstance(); calTo.setTime(sdf.parse(to)); long df = calTo.getTimeInMillis() - calFrom.getTimeInMillis(); long day = df / (3600*24*1000); 如果表單填入是同一月份內的日期 計算會正常 但是我用6/30-7/01這種跨月份時間差就會變成負的 而且用get(Calendar.MONTH)顯示永遠是0(Jan) 該怎麼解決... 謝謝>< -- 四六時中も好きと言って 夢の中へ連れて行って -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.44.124.228 ※ 文章網址: https://www.ptt.cc/bbs/java/M.1434305420.A.C29.html
swpoker: 我都先算年,再算第N天 on年,得出天數 06/15 09:35
swpoker: df / (3600*24*1000)->這個會有滿多問題,不太準 06/15 09:36
LaPass: 映像中這類時間的物件都會自帶計算時間的方法,用那個 06/15 10:33
haha02: 你的pattern寫錯了啊... 小寫m是Minute in hour 06/15 11:40
haha02: 另外你要算時間差的話可以用joda time 方便很多 06/15 11:41
somniloquist: 我用joda time寫好了!!! 感謝各位!m(_ _)m 06/15 14:39