时分秒时间段的区域判断

来源:互联网 发布:淘宝点了收藏没反应 编辑:程序博客网 时间:2024/06/05 19:06
/**     * 判断某一时间是否在一个区间内     *      * @param sourceTime     *            时间区间,半闭合,如[10:00:00-20:00:00]     * @param curTime     *            需要判断的时间 如10:00:00     * @return      * @throws IllegalArgumentException     */    public static boolean isInTimeForS(String sourceTime, String curTime) {        if (sourceTime == null || !sourceTime.contains("-") || !sourceTime.contains(":")) {            throw new IllegalArgumentException("Illegal Argument arg:" + sourceTime);        }        if (curTime == null || !curTime.contains(":")) {            throw new IllegalArgumentException("Illegal Argument arg:" + curTime);        }        String[] args = sourceTime.split("-");        SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss");        try {            long now = sdf.parse(curTime).getTime();            long start = sdf.parse(args[0]).getTime();            long end = sdf.parse(args[1]).getTime();            if (args[1].equals("00:00:00")) {                args[1] = "24:00:00";            }            if (end < start) {                if (now >= end && now <= start) {                    return false;                } else {                    return true;                }            }             else {                if (now >= start && now <= end) {                    return true;                } else {                    return false;                }            }        } catch (ParseException e) {            e.printStackTrace();            throw new IllegalArgumentException("Illegal Argument arg:" + sourceTime);        }    }
原创粉丝点击