最简单的就是直接获取开始时间、结束时间,计算时间差
成都创新互联公司专注于网站建设|企业网站维护|优化|托管以及网络推广,积累了大量的网站设计与制作经验,为许多企业提供了网站定制设计服务,案例作品覆盖成都服务器租用等行业。能根据企业所处的行业与销售的产品,结合品牌形象的塑造,量身设计品质网站。
public class Demo {
public static void main(String[] args) {
long startTime = System.currentTimeMillis(); //获取开始时间
doSomething(); //测试的代码段
long endTime = System.currentTimeMillis(); //获取结束时间
System.out.println("程序运行时间:" + (endTime - startTime) + "ms"); //输出程序运行时间
}
}
import java.text.DateFormat;
import java.text.ParsePosition;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.logging.SimpleFormatter;
public class DateTest {
/**
* 判断是否在同一个月
* @param startDate yyyy-MM-dd
* @param endDate yyyy-MM-dd
* @return false:不在同一个月内,true在同一个月内
*/
public static boolean isMonth(String startDate,String endDate){
if(margin(startDate, endDate)31){
return false;
}
int startMonth = Integer.parseInt(startDate.substring(5, 7));
int endMonth = Integer.parseInt(endDate.substring(5, 7));
if(startMonth==endMonth){
return true;
}else{
return false;
}
}
/**
* 计算开始日期和结束日期差
* @param startDate yyyy-MM-dd
* @param endDate yyyy-MM-dd
* @return
*/
private static int margin(String startDate,String endDate){
ParsePosition pos = new ParsePosition(0);
ParsePosition pos2 = new ParsePosition(0);
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Date ds = sdf.parse(startDate, pos);
Date de = sdf.parse(endDate, pos2);
long l = de.getTime()-ds.getTime();
int margin = (int)(l/24*60*60*1000);
return margin;
}
/**
* main方法测试
* @param args
*/
public static void main(String[] args) {
System.out.println(DateTest.isMonth("2014-10-17", "2014-10-25"));
System.out.println(DateTest.isMonth("2014-10-17", "2014-12-25"));
}
}
Date date=new Date();//取时间
date.clearTime()
Calendar calendar = new GregorianCalendar();
calendar.setTime(date);
calendar.set(Calendar.HOUR,0)
calendar.set(Calendar.MINUTE,0)
calendar.set(Calendar.SECOND,0)
calendar.set(Calendar.MILLISECOND,0)
System.out.println("开始时间:"+calendar.getTime())
calendar.set(Calendar.HOUR,23)
calendar.set(Calendar.MINUTE,59)
calendar.set(Calendar.SECOND,59)
calendar.set(Calendar.MILLISECOND,999)
System.out.println("结束时间:"+calendar.getTime())
可以利用以上代码来实现这个功能
try{
java.text.SimpleDateFormat sdf = new java.text.SimpleDateFormat("yyyy-MM");
java.util.Calendar starCalendar = java.util.Calendar.getInstance();
java.util.Calendar endCalendar = java.util.Calendar.getInstance();
String starStr = "2011-11";
String endStr = "2012-02";
java.util.Date starDate = sdf.parse(starStr);
java.util.Date endDate = sdf.parse(endStr);
starCalendar.setTime(starDate);
endCalendar.setTime(endDate);
int instance = endCalendar.compareTo(starCalendar);
while(endCalendar.compareTo(starCalendar)=0){
System.out.println(sdf.format(starCalendar.getTime()));
//这里我输出了,你可以自行处理,List等进行操作
starCalendar.add(Calendar.MONTH, 1);
}
}catch(ParseException e){
e.printStackTrace();
}
售后响应及时
7×24小时客服热线数据备份
更安全、更高效、更稳定价格公道精准
项目经理精准报价不弄虚作假合作无风险
重合同讲信誉,无效全额退款