无论我做什么,都会得到不正确的结果。任何人都可以给我一些建议:)。
这是我程序的代码,负责获取两个日期之间的时间。
我得到一个结果,但问题是它不正确,并且在查找问题时遇到了麻烦。
我必须在我的项目中去乔达图书馆。
if (timerightnow.isSelected()) { DateFormat getdate = new SimpleDateFormat("dd/MM/yy HH:mm:ss"); Date getdate1 = new Date(); String datenow = getdate1.toString(); String monthnow = datenow.substring(4, 7); String daynow = datenow.substring(8,10); String hournow = datenow.substring(11,19); String yearnow = datenow.substring(25, 29); if (monthnow.equalsIgnoreCase("jan")) monthnow = "01"; if (monthnow.equalsIgnoreCase("feb")) monthnow = "02"; if (monthnow.equalsIgnoreCase("mar")) monthnow = "03"; if (monthnow.equalsIgnoreCase("apr")) monthnow = "04"; if (monthnow.equalsIgnoreCase("may")) monthnow = "05"; if (monthnow.equalsIgnoreCase("jun")) monthnow = "06"; if (monthnow.equalsIgnoreCase("jul")) monthnow = "07"; if (monthnow.equalsIgnoreCase("agu")) monthnow = "08"; if (monthnow.equalsIgnoreCase("sep")) monthnow = "09"; if (monthnow.equalsIgnoreCase("oct")) monthnow = "10"; if (monthnow.equalsIgnoreCase("nov")) monthnow = "11"; if (monthnow.equalsIgnoreCase("dec")) monthnow = "12"; String timenow = monthnow + "/" + daynow + "/" + yearnow + " " + hournow; String timetotext = timeto.getText(); SimpleDateFormat date = new SimpleDateFormat("MM/dd/yyyy HH:mm:ss"); Date datestart = null; Date dateend = null; try { datestart = date.parse(timenow); dateend = date.parse(timetotext); DateTime datestartdaytime = new DateTime(datestart); DateTime dateenddaytime = new DateTime(dateend); JOptionPane.showMessageDialog(null, datestartdaytime + "\n" + dateenddaytime); int monthoutput = Months.monthsBetween(datestartdaytime, dateenddaytime).getMonths(); int daysoutput = Days.daysBetween(datestartdaytime, datestartdaytime).getDays() % 30; int hoursoutput = Hours.hoursBetween(datestartdaytime, datestartdaytime).getHours() % 24; int minutsoutput = Minutes.minutesBetween(datestartdaytime, dateenddaytime).getMinutes() % 60; int secondsoutput = Seconds.secondsBetween(datestartdaytime, dateenddaytime).getSeconds() % 60; answer.setText(monthoutput + "Months" + daysoutput + "Days" + hoursoutput + "Hours" + minutsoutput + "Minutes" + secondsoutput + "Seconds");
非常感谢 :)
您的错误在以下两行中:
int daysoutput = Days.daysBetween(datestartdaytime, datestartdaytime).getDays() % 30; int hoursoutput = Hours.hoursBetween(datestartdaytime, datestartdaytime).getHours() % 24;
您打算将其dateenddaytime用作第二个参数:
dateenddaytime
int daysoutput = Days.daysBetween(datestartdaytime, dateenddaytime).getDays() % 30; int hoursoutput = Hours.hoursBetween(datestartdaytime, dateenddaytime).getHours() % 24;