Java 使用joda time获取总间隔数
我有这个密码Java 使用joda time获取总间隔数,java,jsp,date,jodatime,Java,Jsp,Date,Jodatime,我有这个密码 <%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%> <%@page import="java.util.*"%> <%@page import="java.text.*,org.joda.time.*"%> <!DOCTYPE html PUBLIC "-//W3C//DTD
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<%@page import="java.util.*"%>
<%@page import="java.text.*,org.joda.time.*"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<%
try {
int freq=30; //30 minutes
String d1=request.getParameter("date");
String d2=d1;
String t1=request.getParameter("starttime");
String t2=request.getParameter("endtime");
String date1 = d1;
String time1 = t1;
String date2 = d2;
String time2 = t2;
String format = "dd/MM/yyyy hh:mm a";
SimpleDateFormat sdf = new SimpleDateFormat(format);
Date dateObj1 = sdf.parse(date1 + " " + time1);
Date dateObj2 = sdf.parse(date2 + " " + time2);
DateTime dateObj12 = new DateTime(dateObj1);
DateTime dateObj22 = new DateTime(dateObj2);
long diff = dateObj2.getTime() - dateObj1.getTime();
double diffInHours = diff / ((double) 1000 * 60 * 60);
//out.println(diffInHours+" hours"+ "<br>");
final Period period = new Period(dateObj12, dateObj22);
//out.print(period.getDays() + " days, ");
out.print(period.getHours() + " hours, ");
out.print(period.getMinutes() + " minutes, ");
//out.print(period.getSeconds() + " seconds.");
}
catch (ParseException e) {
e.printStackTrace();
}
%>
</body>
</html>
这给了我时间上的差异。
接下来,我想得到间隔的数量。
如上所述,您可以看到我使用了freq=30;这是我想要的间隔时间。
因此,在某个特定的时间段,例如上午11点30分至下午5点,间隔时间为30分钟,我应该有11次间隔。我应该如何做到这一点?Joda time对这类事情有很大的支持。这应该可以为您做到:
int minutesBetween = Minutes.minutesBetween(dateObj12, dateObj22).getMinutes();
int numberOfIntervals = minutesBetween / freq;
Javadoc: