弱弱的请教下: 如何判断两个时间是否在同一周,(周一是开始,周日是结束)?
5条回答 默认 最新
- ageofnodoubt 2011-01-13 14:18关注
[code="java"]
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;public class Test {
private static final DateFormat datetimeDf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");/** * @param args */ public static void main(String[] args) { try { // 定义两个时间 String dateStr1 = "2010-01-27 00:00:00"; String dateStr2 = "2010-01-30 23:59:59"; Date date1 = datetimeDf.parse(dateStr1); Date date2 = datetimeDf.parse(dateStr2); // 比较 System.out.println(Test.compare(date1, date2) ? "两个时间在同一周" : "两个时间不在同一周"); } catch (ParseException e) { e.printStackTrace(); } } /** * 判断两个时间是否在同一周 * * @param firstDate * @param secondDate * @return * @throws ParseException */ public static boolean compare(Date firstDate, Date secondDate) throws ParseException { /** 以下先根据第一个时间找出所在周的星期一、星期日, 再对第二个时间进行比较 */ Calendar calendarMonday = Calendar.getInstance(); calendarMonday.setTime(firstDate); // 获取firstDate在当前周的第几天. (星期一~星期日:1~7) int monday = calendarMonday.get(Calendar.DAY_OF_WEEK); if (monday == 0) monday = 7; // 星期一开始时间 calendarMonday.add(Calendar.DAY_OF_MONTH, - monday + 1); calendarMonday.set(Calendar.HOUR, 0); calendarMonday.set(Calendar.MINUTE, 0); calendarMonday.set(Calendar.SECOND, 0); // 星期日结束时间 Calendar calendarSunday = Calendar.getInstance(); calendarSunday.setTime(calendarMonday.getTime()); calendarSunday.add(Calendar.DAY_OF_MONTH, 6); calendarSunday.set(Calendar.HOUR, 23); calendarSunday.set(Calendar.MINUTE, 59); calendarSunday.set(Calendar.SECOND, 59); System.out.println("星期一开始时间:" + datetimeDf.format(calendarMonday.getTime())); System.out.println("星期日结束时间:" + datetimeDf.format(calendarSunday.getTime())); // 比较第二个时间是否与第一个时间在同一周 if (secondDate.getTime() >= calendarMonday.getTimeInMillis() && secondDate.getTime() <= calendarSunday.getTimeInMillis()) { return true; } return false; }
}
[/code]
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决评论 打赏 举报无用 3
悬赏问题
- ¥100 set_link_state
- ¥15 虚幻5 UE美术毛发渲染
- ¥15 CVRP 图论 物流运输优化
- ¥15 Tableau online 嵌入ppt失败
- ¥100 支付宝网页转账系统不识别账号
- ¥15 基于单片机的靶位控制系统
- ¥15 真我手机蓝牙传输进度消息被关闭了,怎么打开?(关键词-消息通知)
- ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
- ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
- ¥15 手机接入宽带网线,如何释放宽带全部速度