[問題] Java月份日期

看板java作者 (somniloquist)時間10年前 (2015/06/15 02:10), 編輯推噓2(204)
留言6則, 4人參與, 最新討論串1/1
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

06/15 09:35, , 1F
我都先算年,再算第N天 on年,得出天數
06/15 09:35, 1F

06/15 09:36, , 2F
df / (3600*24*1000)->這個會有滿多問題,不太準
06/15 09:36, 2F

06/15 10:33, , 3F
映像中這類時間的物件都會自帶計算時間的方法,用那個
06/15 10:33, 3F

06/15 11:40, , 4F
你的pattern寫錯了啊... 小寫m是Minute in hour
06/15 11:40, 4F

06/15 11:41, , 5F
另外你要算時間差的話可以用joda time 方便很多
06/15 11:41, 5F

06/15 14:39, , 6F
我用joda time寫好了!!! 感謝各位!m(_ _)m
06/15 14:39, 6F
文章代碼(AID): #1LVSECmf (java)
文章代碼(AID): #1LVSECmf (java)