• 结合 DateUtils DateFormatUtils 随手写的一个求周末、周一的JAVA时间处理类


    import java.util.Calendar;
    import java.util.Date;

    import org.apache.commons.lang.time.DateUtils;  //apache的类,方便日期加减,方法很多,线程安全

    import org.apache.commons.lang.time.DateFormatUtils;//apache的类,日期转换,方法很多,线程安全

    public class Test {

    public static void main(String args[]) {


    String date2="20200405";//输入参数

    try {

    Date date3 = DateUtils.parseDate(date2, new String[] { "yyyyMMdd" });
    Calendar calendar = Calendar.getInstance();
    calendar.setTime(date3);

    int dayOfWeek = calendar.get(Calendar.DAY_OF_WEEK);
    //---如果大于周一
    if(dayOfWeek>Calendar.MONDAY){
    Date date = DateUtils.addDays(calendar.getTime(), Calendar.MONDAY-dayOfWeek);   //----直接日期加减
    calendar.setTime(date);
    }

    //---如果等于周日

    else if (dayOfWeek==Calendar.SUNDAY) {
    Date date = DateUtils.addDays(calendar.getTime(), -6);    //---直接减6天
    calendar.setTime(date);
    }
    calendar.set(Calendar.HOUR_OF_DAY, 0);
    calendar.set(Calendar.MINUTE, 0);
    calendar.set(Calendar.SECOND, 0);

    System.out.println(DateFormatUtils.format(calendar, "yyyyMMdd"));//所得周一日期   转 字符串

    System.out.println(DateFormatUtils.format(
    DateUtils.addDays(DateUtils.parseDate(DateFormatUtils.format(calendar, "yyyyMMdd"), new String[] { "yyyyMMdd" }),6)
    ,"yyyyMMdd"))
    ;//周日   日期   转 字符串


    } catch (Exception e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }
    }

    }

  • 相关阅读:
    虚拟目录
    【C/C++学习】之十四、RTTI
    【C/C++学习】之十五、内存管理
    【C/C++学习】之十六、关于空指针NULL、野指针、通用指针
    统计在线人数
    [置顶] 分步实现具有分页功能的自定义DataList控件【附源代码】
    进制转换
    栈和队列2 数据结构和算法24
    二进制跟十六进制
    进制转换
  • 原文地址:https://www.cnblogs.com/alexgl2008/p/12737202.html
Copyright © 2020-2023  润新知