为什么整的这么复杂,不管你传的什么时间,用SimpleDateFormat格式化获取yyyy-MM-dd,只要日期字符串,在把时分秒23:59:59加在后面,然后将字符串转成时间不就好了
啥啊???
就是处理时间00:00:00到23:59:00
@雪剑残云: 然后呢?能清晰地表达出你的需求吗?
@IT民工-杰: 有一个开始时间和结束时间,想要的结果就是选择开始时间是00:00,那么结束时间到23点59分结束
@雪剑残云: 哦,就是往后挪一天是吧!我是搞.net这是我在度娘上给你找的java代码
1 import java.util.Date ; 2 3 date=new date();//取时间 4 Calendar calendar = new GregorianCalendar(); 5 calendar.setTime(date); 6 calendar.add(calendar.DATE,1);//把日期往后增加一天.整数往后推,负数往前移动 7 date=calendar.getTime(); //这个时间就是日期往后推一天的结果
//把 date=new date()换成你的开始时间
@IT民工-杰: 谢谢,我再研究研究!!!
往后+1天, 再往前-1秒
----
加我微信214710841, 可以一起交流哦
什么是处理时间?就是说这里的需求是把24小时分成两种情况,一种是在工作区间内(0点-23点59分),一种是结束工作(23点59分-0点)?
如果你只是处理00:00:00到23:59:00。告诉你个超级简单的,直接判断日期即可。可以精确到23:59:59
您好,我是菜鸟一个,应该怎么判断?谢谢!!!
@雪剑残云:
度娘来的方法:
//date1:时间1
//date2:时间2
//return:两个时间是否是同一天。
private static boolean isSameDate(Date date1, Date date2) {
Calendar cal1 = Calendar.getInstance();
cal1.setTime(date1);
Calendar cal2 = Calendar.getInstance();
cal2.setTime(date2);
boolean isSameYear = cal1.get(Calendar.YEAR) == cal2
.get(Calendar.YEAR);
boolean isSameMonth = isSameYear
&& cal1.get(Calendar.MONTH) == cal2.get(Calendar.MONTH);
boolean isSameDate = isSameMonth
&& cal1.get(Calendar.DAY_OF_MONTH) == cal2
.get(Calendar.DAY_OF_MONTH);
return isSameDate;
}