日期时间工具类

来源:互联网 发布:淘宝高仿鞋哪些店铺好 编辑:程序博客网 时间:2024/06/05 20:33
package com.hsdp.healthy.utils;import java.text.SimpleDateFormat;import java.util.Calendar;import java.util.Date;/** * 日期时间工具类 */public class DateTimeFormatUtil {    /**     * 判断两个日期是否是同一周     */    public static boolean isSameDate(String date1, String date2) {        SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");        Date d1 = null;        Date d2 = null;        try {            d1 = format.parse(date1);            d2 = format.parse(date2);        } catch (Exception e) {            e.printStackTrace();        }        Calendar cal1 = Calendar.getInstance();        Calendar cal2 = Calendar.getInstance();        cal1.setFirstDayOfWeek(Calendar.MONDAY);        //西方周日为一周的第一天,咱得将周一设为一周第一天        cal2.setFirstDayOfWeek(Calendar.MONDAY);        cal1.setTime(d1);        cal2.setTime(d2);        int subYear = cal1.get(Calendar.YEAR) - cal2.get(Calendar.YEAR);        if (subYear == 0) {     //subYear==0,说明是同一年            if (cal1.get(Calendar.WEEK_OF_YEAR) == cal2.get(Calendar.WEEK_OF_YEAR))                return true;        } else if (subYear == 1 && cal2.get(Calendar.MONTH) == 11) {        //subYear==1,说明cal比cal2大一年;java的一月用"0"标识,那么12月用"11"            if (cal1.get(Calendar.WEEK_OF_YEAR) == cal2.get(Calendar.WEEK_OF_YEAR))                return true;        } else if (subYear == -1 && cal1.get(Calendar.MONTH) == 11) {       //subYear==-1,说明cal比cal2小一年            if (cal1.get(Calendar.WEEK_OF_YEAR) == cal2.get(Calendar.WEEK_OF_YEAR))                return true;        }        return false;    }    /**     * 判断当前日期是星期几     *     * @param date1 修要判断的时间     * @return dayForWeek 判断结果     * @Exception 发生异常     */    public static int dayForWeek(String date1) throws Exception {        SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");        Calendar c = Calendar.getInstance();        c.setTime(format.parse(date1));        int dayForWeek = 0;        if (c.get(Calendar.DAY_OF_WEEK) == 1) {            dayForWeek = 7;        } else {            dayForWeek = c.get(Calendar.DAY_OF_WEEK) - 1;        }        return dayForWeek;    }    public static void main(String[] args) {        boolean a = isSameDate("2016-12-25", "2017-1-1");        if (a) {            System.out.println("是同一周!");        } else {            System.out.println("不是同一周!");        }    }}

原创粉丝点击