JAVA |如何找到两个给定日期和时间之间的日期和时间增加5分钟?
例如,如果起点是[29/1/2017 5:40:00 AM]
停车点是[29/1/2017 6:00:00 AM]
列表(基于起点和终点),它必须是这样的
29/1/2017 5:40:00 AM
29/1/2017 5:45:00 AM
29/1/2017 5:50:00 AM
29/1/2017 5:55:00 AM
29/1/2017 6:00:00 AM
请不要使用JODA。
答案 0 :(得分:2)
使用新的DateTime API继承Java8版本。如果您使用的是Java8,则应使用此代码。
df2 <- structure(list(V1 = 1:2, V2 = c("A,B,C", "X,Y,Z"), V3 = c("C,D,F",
"V,U,")), .Names = c("V1", "V2", "V3"), class = "data.frame",
row.names = c(NA, -2L))
答案 1 :(得分:1)
如果您对使用JODA
不感兴趣,可以使用java.util.Calendar
实现此目的。
比如说,你有两个代表两个日期的String
个对象:
String startDateStr = "29/1/2017 5:40:00 AM";
String endDateStr = "29/1/2017 6:00:00 AM";
创建DateFormat
来解析这些:
DateFormat dateFormat = new SimpleDateFormat("dd/MM/yyyy hh:mm:ss a");
现在,创建两个java.util.Date
个对象和两个代表日期的java.util.Calendar
个实例:
Date startDate = dateFormat.parse(startDateStr);
Date endDate = dateFormat.parse(endDateStr);
Calendar startDateCal = Calendar.getInstance();
startDateCal.setTime(startDate);
Calendar endDateCal = Calendar.getInstance();
endDateCal.setTime(endDate);
现在,您可以遍历如下所示的日期:
for(Date d = startDateCal.getTime(); startDateCal.before(endDateCal); startDateCal.add(Calendar.MINUTE, 5)){
d = startDateCal.getTime();
System.out.println(dateFormat.format(d.getTime()));
}
我知道,这就是你想要实现的目标。